发布网友 发布时间:2022-04-21 05:36
共4个回答
热心网友 时间:2022-04-10 17:49
like是用来比较字符串类型的值的,日期格式的字段不能直接使用like来比较。
如果想对日期使用like的话,需要将date类型的字段转换成字符类型的,使用to_char()就可以。
比如 to_char(sysdate,'yyyy年mm月dd日 hh24:mi:ss')
如果想比较时间,直接用date类型的来相互比较效率会更高,可以写成:
And INSTOCK.FDATE > trunc(SYSDATE,'y') 就是时间大于本年1月1号0点0分0秒
补充:
INSTOCK.FDATE是date类型的话,也可以:
And to_char(INSTOCK.FDATE,'yyyy-') = '2010-'
热心网友 时间:2022-04-10 19:07
不知掉 你的看你的格式
如果格式不对的话 有问题
可以这样 to_char(date,'YYYY')='2010'
或者 to_date(date,'YYYY-MM-DD :HH24:MI:SS')='2010-1-1 16:26:22'
其中 HH24 是24小时制的 HH是12小时制的
热心网友 时间:2022-04-10 20:42
可以这样and to_char(INSTOCK.FDATE,'YYYY')='2010'
效果与And INSTOCK.FDATE Like '2010-%'是一样的
也可以这样and to_char(INSTOCK.FDATE,'YYYY-mm-dd') like '2010-%'
热心网友 时间:2022-04-10 22:33
如果要用like 则要把DATE类型转换成VARCHAR类型才可以。