日期常用函数:add_months,last_day,next_day,months_between,new_time,round
函数用法:
ADD_MONTHS(d,n)
------时间点d加上n个月
示例:select sysdate,add_months(sysdate,1) from dual;
注:sysdate:系统时间 dual:dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录
SYSDATE ADD_MONTHS(SYS
-------------- --------------
14-12月-15 14-1月 -16
LAST_DAY(d)
------时间点d所在月份的最后一天
示例:select sysdate,last_day(sysdate) from dual;
SYSDATE LAST_DAY(SYSDA
-------------- --------------
14-12月-15 31-12月-15
NEXT_DAY(d,number) |
|
星期日 |
示例:select sysdate,next_day(sysdate,2) from dual; 2015.12.14是星期一,下一个星期一是2015.12.21 SYSDATE NEXT_DAY(SYSDA MONTHS_BETWEEN(d1,d2) --计算d1与d2相隔的月份 示例:select sysdate,add_months(sysdate,8),months_between(sysdate,add_months(sysdate,8)) a from dual; |
SYSDATE ADD_MONTHS(SYS A
-------------- -------------- ----------
14-12月-15 14-8月 -16 -8
NEW_TIME(d,c1,c2)
--转换新时区,将时间点d的时间由c1时区转换成c2时区的时间
示例:select sysdate,new_time(sysdate,'EST','GMT') from dual;
SYSDATE NEW_TIME(SYSDA
-------------- --------------
14-12月-15 14-12月-15
ROUND(d [,fmt])
--对日期做四舍五入运算,其中,月的四舍五入以每月15号为基准,年的四舍五入以每年6月为基准
示例:select sysdate,round(sysdate,'year') y,round(sysdate,'month') m from dual;
SYSDATE Y M
-------------- -------------- --------------
14-12月-15 01-1月 -16 01-12月-15
TRUNC(d[,fmt])
--对日期做截取运算
示例:select sysdate,trunc(sysdate,'year'),trunc(sysdate,'month') from dual;
SYSDATE TRUNC(SYSDATE, TRUNC(SYSDATE,
-------------- -------------- --------------
14-12月-15 01-1月 -15 01-12月-15