Oracle查询未返回预期记录

时间:2014-09-23 19:27:26

标签: sql oracle

如果我执行查询

select * from my_table where status=5000

我从数据库中获得了76条记录。但是,我想按日期缩小范围。幸运的是,表格中有一个receiveddate列,其中一个记录的receiveddate为" 23-APR-13"。所以我尝试了这个查询:

select * 
  from my_table 
 where status=5000 
   and receiveddate=to_date('23-APR-13', 'DD-Mon-YY')

返回0条记录。

如果我使用

select * 
  from my_table 
 where status=5000 
   and receiveddate > to_date('20130423', 'YYYYMMDD') 
   and receiveddate > to_date('20130424', 'YYYYMMDD')

我得到了我想要的东西。你们和女士们能帮我理解差异/问题吗?

1 个答案:

答案 0 :(得分:4)

select * 
  from my_table 
 where status=5000 
   and trunc(receiveddate)=to_date('23-APR-13', 'DD-Mon-YY')

trunc将返回包含时间的长日期的日期部分。