今天写一个关于统计方面的东西用到这两个函数:
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() 效率高,尤其是大型数据库查询