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函数啊,,
展开
 我来答
情误肥羊
2010-03-29 · 超过26用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:59.6万
展开全部
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-'
yhy3314784
2010-03-29 · 超过16用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:36.6万
展开全部
不知掉 你的看你的格式
如果格式不对的话 有问题
可以这样 to_char(date,'YYYY')='2010'
或者 to_date(date,'YYYY-MM-DD :HH24:MI:SS')='2010-1-1 16:26:22'
其中 HH24 是24小时制的 HH是12小时制的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greenhill9
2010-03-29 · 超过37用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:109万
展开全部
可以这样and to_char(INSTOCK.FDATE,'YYYY')='2010'
效果与And INSTOCK.FDATE Like '2010-%'是一样的

也可以这样and to_char(INSTOCK.FDATE,'YYYY-mm-dd') like '2010-%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谈论用户名
2010-03-29 · TA获得超过1189个赞
知道小有建树答主
回答量:3981
采纳率:21%
帮助的人:1100万
展开全部
如果要用like 则要把DATE类型转换成VARCHAR类型才可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式