这次我们来写写日期函数。
在oracle中日期是系统的特定的一种数据格式,自然要用系统的规范来处理这类数据。下面我们就来看看相关的操作函数。
Months_between 计算2个月份之间间隔了多少月
例如:
Months_between(’01-sep-95’, ’11-jan-94’)
结果是:19.6774194
Add_months 在指定的月份上面增加相应得月份
例如:
Add_months(’11-jan-94’, 6)
结果是:11-jul-94
Next_day 计算规定日期的后一个特定日期
例如:
Next_day(’01-sep-95’, ‘Friday’ )
结果是:
08-sep-95
Last_day 指这个月最后一天
例如:
Last_day(’01-feb-95’)
结果是:
28-feb-95
现在我们假设我们的系统日期是25-jul-06
来看如下两个函数
Round(sysdate, ‘month’) 结果:01-aug-06
Round(sysdate, ‘year’) 结果:01-jan-07
Trunc(sysdate,’month’)结果:01-jul-06
Trunk(sysdate, ‘year’)结果:01-jan-06
大家能看出规律么?
Round是一个四舍五入的运算,如果我们指定month,那么我就从day的数据中四舍五入,day就变为01,如果是year,我就从月份开始,01-jan,
Trunc是指舍不如,规则和上面一样的。大家注意体会。时间有限,先写到这里。下次开始写数据之间的转换函数。