SQL语句错误,急!!!

xiejiangjun 2003-08-11 02:54:02
select * from TBL_KERNEL1 where TBL_KERNEL1.DDATE >= '2003-5-7'

其中 DDATE 的类型为:Date

请问哪里有错?

谢谢!!!
...全文
15 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
darkhorsedba 2003-08-11
  • 打赏
  • 举报
回复
错了!
to_string 该为to_char!!!!
darkhorsedba 2003-08-11
  • 打赏
  • 举报
回复
TO xiejiangjun ()
select * from TBL_KERNEL1 where TBL_KERNEL1.DDATE >= '2003-5-7'
这句明显相比较的两项类型不一致!比较符前面是你说的日期型;比较符后面是字符型。注意非表里指定的日期型字段,务必用to_date()函数将一个字符型转换为日期型!
解决的两个方法:
1)to_string(日期)
2)to_date(字符串,'日期格式')
yanj1975 2003-08-11
  • 打赏
  • 举报
回复
这个SQL语句有两种写法,用那种都可以:
第一种:
select * from TBL_KERNEL1 where TBL_KERNEL1.DDATE >= to_date('2003-05-07','yyyy-mm-dd');
第二种:
select * from TBL_KERNEL1 where to_char(TBL_KERNEL1.DDATE,'yyyy-mm-dd')>= '2003-05-07';
zfnccn 2003-08-11
  • 打赏
  • 举报
回复
问题就是由于格式不对,
TBL_KERNEL1.DDATE 是日期型,格式是由系统定的,而'2003-5-7'是固定字符型
把TBL_KERNEL1.DDATE改为to_char(TBL_KERNEL1.DDATE,'yyyy-mm-dd'),'2003-5-7'改为'2003-05-07'就应该没问题了。
xiaohuajx 2003-08-11
  • 打赏
  • 举报
回复
to_Date() ; 别直接用 ">="
或者是转化成:String 再比较;
freedom_coffee 2003-08-11
  • 打赏
  • 举报
回复
没有错的呀!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧