oracle用指定的时间做查询条件怎么查不出数据。

hlrcopyright 2009-03-25 07:55:35
oracle用指定的时间做查询条件怎么查不出数据。
如:sleect *from a where a.b=to_date('2009-02-28','yyyy-mm-dd')数据库里有数据就是不出来!
...全文
564 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
maoajian 2009-04-11
  • 打赏
  • 举报
回复
select *
from a
where b >= to_date('20090228', 'yyyymmdd')
and b < to_date('20090228', 'yyyymmdd') + 1
knowhow 2009-03-28
  • 打赏
  • 举报
回复
select *
from a
where b >= to_date('20090228', 'yyyymmdd')
and b < to_date('20090228', 'yyyymmdd') + 1

这样不需要额外增加索引,也可以使用b的索引,只是多写一句而已。
himily198338 2009-03-28
  • 打赏
  • 举报
回复
这要根据你数据库的日期是字符格式还是日期格式的


把日期转换成字符格式:

sleect *from a where to_char(a.b,'yyyy-mm-dd')='2009-02-28'

把字符格式转换成日期格式:

sleect * from a where to_date(a.b,'yyyymmdd') =to_date(20090228,'yyyymmdd)

而且 函授里面的 'yyyy-mm-dd' 格式不区分大小写

feiyu107 2009-03-27
  • 打赏
  • 举报
回复
看一下你数据库里是什么值不就知道了,带时间的话肯定查不到啊
sleect *from a where a.b=to_date('2009-02-28','yyyy-mm-dd hh24:mi:ss')
zzyzgydotnet 2009-03-27
  • 打赏
  • 举报
回复
sleect *from a where to_char(a.b,'yyyy-MM-dd')='2009-02-28'
是这样吧。M是要大写的吧。
phoenixYiYou 2009-03-27
  • 打赏
  • 举报
回复
很显然应该用to_char()
白发程序猿 2009-03-27
  • 打赏
  • 举报
回复
应该是带时间的问题
zcs_1 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 hlrcopyright 的帖子:]
oracle用指定的时间做查询条件怎么查不出数据。
如:sleect *from a where a.b=to_date('2009-02-28','yyyy-mm-dd')数据库里有数据就是不出来!
[/Quote]

也可以用TRUNC把时间去掉,但是这样就用不了a.b上的索引了。但是可以建一个基于函数的索引来解决这个问题。

sleect *from a where TRUNC(a.b)=to_date('2009-02-28','yyyy-mm-dd')
tiantom 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hdhai9451 的回复:]
不是,应该用to_char()

sleect *from a where to_char(a.b,'yyyy-mm-dd')='2009-02-28';
[/Quote]

正解哦

robinhood1214 2009-03-26
  • 打赏
  • 举报
回复
很明显你数据库里的日期是带时间的,所以不能比较日期,可以比较字符串,楼上正解。
Andy__Huang 2009-03-25
  • 打赏
  • 举报
回复
不是,应该用to_char()

sleect *from a where to_char(a.b,'yyyy-mm-dd')='2009-02-28';
Andy__Huang 2009-03-25
  • 打赏
  • 举报
回复
应该这样:

sleect *from a where to_date(a.b,'yyyy-mm-dd')='2009-02-28';

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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