今天写一个关于统计方面的东西用到这两个函数:
1.若统计一个时间点比如某个月的数据:
to_char(BEGIN_TIME, 'yyyy-MM') = '2006-04'
相当于to_date('2006-04','yyyy-MM') = trunc(BEGIN_TIME,'MM')
其中trunc中的'mm'代表精确到月,Oracle中的dd自动会默认从“1”开始。
2.如果统计一个时间段:2007年1月-2007年4月:
to_date('2007-01', 'yyyy-MM') <= trunc(START_TIME, 'mm')
and trunc(START_TIME, 'mm') < to_date('2007-05', 'yyyy-MM')
如果写成 "<= to_date('2007-04','yyyy-MM')"会少统计一个月
3.to_date()比to_char() 效率高,尤其是大型数据库查询
1.若统计一个时间点比如某个月的数据:
to_char(BEGIN_TIME, 'yyyy-MM') = '2006-04'
相当于to_date('2006-04','yyyy-MM') = trunc(BEGIN_TIME,'MM')
其中trunc中的'mm'代表精确到月,Oracle中的dd自动会默认从“1”开始。
2.如果统计一个时间段:2007年1月-2007年4月:
to_date('2007-01', 'yyyy-MM') <= trunc(START_TIME, 'mm')
and trunc(START_TIME, 'mm') < to_date('2007-05', 'yyyy-MM')
如果写成 "<= to_date('2007-04','yyyy-MM')"会少统计一个月
3.to_date()比to_char() 效率高,尤其是大型数据库查询
Oracle日期函数详解
本文详细介绍了Oracle数据库中用于处理日期的两个关键函数to_char和to_date的使用方法,并通过实例展示了如何利用这些函数进行精确到月的数据统计,比较了to_date与to_char在效率上的差异。

被折叠的 条评论
为什么被折叠?



