百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文
oracle中to_date和to_char的区别,尤其日期区间的统计别用错

oracle中to_date和to_char的区别,尤其日期区间的统计别用错

  • 网站名称:oracle中to_date和to_char的区别,尤其日期区间的统计别用错
  • 网站分类:技术文章
  • 收录时间:2025-06-21 18:49
  • 网站地址:

进入网站

“oracle中to_date和to_char的区别,尤其日期区间的统计别用错” 网站介绍

项目中客服反馈问题,订单报表中用to_date统计数据筛选5月份数据发现少统计了2条,通过统计2022年5月的订单发送ERP数据比较to_date和to_char的区别,总结下,希望看到的别踩坑了。

  • 开始用的to_date

查询之后你会惊奇的发现,居然没有 2022-05-31的数据,其实使用to_date,如果最小单位是日,那他的下区间其实是<=to_date('2022-05-31 00:00:00','yyyy-MM-dd HH24:mi:ss'),而上区间取得是>=to_date('2022-05-01 00:00:00','yyyy-MM-dd HH24:mi:ss'),那我统计某个月的订单发送量,下区间还要加上 23:59:59,或者多算一天,这那也太麻烦了,所以如果统计区间的单位最小是天 ,建议使用 to_char就可以解决这个问题。

  • 改成to_char后

如上图结果所示,2022-05-31刚好少的2条数据就查询出来了。