Oracle使用to_date()格式化日期会遇到什么坑

这篇文章主要介绍Oracle使用to_date()格式化日期会遇到什么坑,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联公司提供高防服务器租用、云服务器、香港服务器、郑州服务器托管

调整报表检索条件的时候遇到to_date()格式化日期的问题,明细如下:


1.总数据 159条

select * from daily_file_information;

Oracle使用to_date()格式化日期会遇到什么坑

2.查询每月数据  3月-139条  4月-16条  5月-4条

select to_char(dfi_create_time,'yyyy-mm'),count(1) from daily_file_information  group by to_char(dfi_create_time,'yyyy-mm');

Oracle使用to_date()格式化日期会遇到什么坑

3.第一种查询方式 【...between...and...】

SQL1:结果159条

select count(1) from daily_file_information where 1=1 and to_char(dfi_create_time,'yyyy-mm') between '2020-03' and '2020-05' ;

Oracle使用to_date()格式化日期会遇到什么坑

SQL2:结果155条

select count(1) from daily_file_information where 1=1 and dfi_create_time between to_date('2020-03','yyyy-mm') and to_date('2020-05','yyyy-mm')  ;

Oracle使用to_date()格式化日期会遇到什么坑

4.第二种查询方式 【...大于等于...小于等于...】

SQL3:结果159条

select count(1) from daily_file_information where 1=1 and to_char(dfi_create_time,'yyyy-mm') >= '2020-03' and to_char(dfi_create_time,'yyyy-mm') <= '2020-05' ;

Oracle使用to_date()格式化日期会遇到什么坑

SQL4:结果155条

select count(1) from daily_file_information where 1=1 and dfi_create_time >= to_date('2020-03','yyyy-mm') and dfi_create_time <= to_date('2020-05','yyyy-mm')  ;

Oracle使用to_date()格式化日期会遇到什么坑

5.差异数据:to_date()格式化4条5月份数据

Oracle使用to_date()格式化日期会遇到什么坑

to_date('2020-05') 结果为:2020/05/01

Oracle使用to_date()格式化日期会遇到什么坑

结论:

    经过几个SQL的查询方式对比发现以to_date()转换数据查询的结果可能与预期结果数据不一致。

    一般情况下在做类似时间过滤的时候我还是比较喜欢用to_char()的方式,根据这几个查询的结论而言还是建议大家慎用to_date()这个函数。

以上是“Oracle使用to_date()格式化日期会遇到什么坑”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享文章:Oracle使用to_date()格式化日期会遇到什么坑
本文链接:http://bzwzjz.com/article/ijshie.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 重庆企业网站建设 成都网站设计 高端定制网站设计 达州网站设计 网站制作 响应式网站设计方案 做网站设计 梓潼网站设计 成都网站建设流程 企业网站设计 定制网站建设多少钱 成都网站建设 成都模版网站建设 成都网站制作 手机网站制作设计 成都网站建设 成都网站建设 移动手机网站制作 成都品牌网站设计 网站建设开发 成都商城网站建设 网站建设方案