如果我执行查询
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')
我得到了我想要的东西。你们和女士们能帮我理解差异/问题吗?
答案 0 :(得分:4)
试
select *
from my_table
where status=5000
and trunc(receiveddate)=to_date('23-APR-13', 'DD-Mon-YY')
trunc将返回包含时间的长日期的日期部分。