select * from tawoke ta where ta.l_awokeid='283' and ta.d_awokedate>=to_date('20061113','YYYYMMDD') and ta.d_awokedate<=to_date('20061113','YYYYMMDD') ;
select * from tawoke ta where ta.l_awokeid='283' and to_date(to_char(D_AWOKEDATE,'YYYYMMDD'),'YYYYMMDD') >=to_date('20061113','YYYYMMDD') and to_date(to_char(D_AWOKEDATE,'YYYYMMDD'),'YYYYMMDD') <=to_date('20061113','YYYYMMDD');
为什么同一条数据,上面查不出来,下面的sql就可以查询出来的,d_awokedate这个字段值为2006/11/13 10:03:49的时候上面是查询不出来的,如果为2006/11/13则都可以查询出来,一个简单的常用的sql,希望大家一起来讨论下
采纳的答案 因为精度的问题,因为你的查询条件是>= and <= 20061113,所以截取d_awokedate的年月日是满足查询条件的,但是保留时分秒是无法满足查询条件的,所以说看似相同的查询语句,最后执行的结果不一样。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。