
oracle 时间字段查找条件问题
oracle中查询时间字段不能使用like?就好像AndINSTOCK.FDATELike'2010-%'加上这句话就成了空了Like'2010-%'如果我想把他转成字符...
oracle中查询时间字段不能使用like?
就好像 And INSTOCK.FDATE Like '2010-%'
加上这句话就成了空了
Like '2010-%'
如果我想把他转成字符串 to_char(sysdate,'yyyy年mm月dd日 hh24:mi:ss')
方法。。
怎么使用
我还是要用like函数啊,, 展开
就好像 And INSTOCK.FDATE Like '2010-%'
加上这句话就成了空了
Like '2010-%'
如果我想把他转成字符串 to_char(sysdate,'yyyy年mm月dd日 hh24:mi:ss')
方法。。
怎么使用
我还是要用like函数啊,, 展开
4个回答
展开全部
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-'
如果想对日期使用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-'
展开全部
不知掉 你的看你的格式
如果格式不对的话 有问题
可以这样 to_char(date,'YYYY')='2010'
或者 to_date(date,'YYYY-MM-DD :HH24:MI:SS')='2010-1-1 16:26:22'
其中 HH24 是24小时制的 HH是12小时制的
如果格式不对的话 有问题
可以这样 to_char(date,'YYYY')='2010'
或者 to_date(date,'YYYY-MM-DD :HH24:MI:SS')='2010-1-1 16:26:22'
其中 HH24 是24小时制的 HH是12小时制的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以这样and to_char(INSTOCK.FDATE,'YYYY')='2010'
效果与And INSTOCK.FDATE Like '2010-%'是一样的
也可以这样and to_char(INSTOCK.FDATE,'YYYY-mm-dd') like '2010-%'
效果与And INSTOCK.FDATE Like '2010-%'是一样的
也可以这样and to_char(INSTOCK.FDATE,'YYYY-mm-dd') like '2010-%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果要用like 则要把DATE类型转换成VARCHAR类型才可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询