求大神指点,我的数据库日期字段是字符串格式的,现在写sql日
delphi吧
全部回复
仅看楼主
level 4
wu7071 楼主
求大神指点,我的数据库日期字段是字符串格式的,现在写sql日期段查询,结果不正确(我只要2019年的结果每年都显示)
2020年06月15日 15点06分 1
level 4
wu7071 楼主
不胜感激!!
2020年06月15日 15点06分 2
吧务
level 14
既然字段是字符串格式,你传参数的时候就应该加引号
2020年06月15日 23点06分 3
还是不能过滤年份,日月可以
2020年06月16日 04点06分
level 4
wu7071 楼主
这里加引号吗?也不行的?
2020年06月16日 03点06分 4
level 4
wu7071 楼主
条件用等号就正确,> <都不准的,过滤不了年份
2020年06月16日 04点06分 5
level 3
搞定了没有
2020年06月18日 12点06分 6
搞掂了
2020年06月20日 06点06分
level 5
因为是字符串类型的,比大小很麻烦,仅供参考
方法1、直接在数据库里类型换成日期时间型,就可以直接比大小
方法2、在sql语句里面用convert转成日期再比较
方法3、日月用比较,日期部分加上类似 and like '% /19'
2020年06月19日 08点06分 7
试了第三种可以了,虽然麻烦点但总算过滤正确。非常感谢你的指点!!!
2020年06月20日 06点06分
level 4
wu7071 楼主
我试下,感谢赐教!!!
2020年06月20日 05点06分 8
level 4
wu7071 楼主
增加年份的过滤条件总算可以了,谢谢大家!!
2020年06月20日 06点06分 9
level 4
wu7071 楼主
方法2.查了百度还未弄明白语法怎么写[汗]
2020年06月20日 07点06分 10
select * from ipgk where convert(date,'20'+substring(p_date,7,2)+'-'+substring(p_date,1,2)+'-'+substring(p_date,4,2),0) between '2019-01-01' and '2019-04-01'
2020年06月21日 07点06分
这样查询条件可能也要为 yyyy-mm-dd格式了
2020年06月21日 07点06分
还有这个是SQL server的,其他数据库的我也不会
2020年06月21日 07点06分
谢谢你!我试试!!
2020年06月22日 08点06分
level 3
字段是字符型那你就把这个字符转换一下啊,转成日期型
2020年12月01日 17点12分 11
level 4
wu7071 楼主
sql里怎么转?不太懂
2021年04月07日 01点04分 12
1