6.3.3 为日期加上指定月份函数
1)ADD_MONTHS(date,integer)函数。该函数将返回在指定的日期上加一个月份数后的日期。各参数具体含义如下:
❑date:指定的日期。
❑integer:要加的月份数,该值如果为负数,则表示减去的月份数。
该函数有些地方需要注意,当指定的日期是月的最后一天时,最后函数返回的结果也将是新月的最后一天。而如果新的月份比指定日期月份的天数少,则函数将自动回调有效日期。示例脚本如下:
SELECT
TO_CHAR(ADD_MONTHS(TO_DATE('2009-9-15','YYYY-MM-DD'),1),'YYYY-MM-DD'),
TO_CHAR(ADD_MONTHS(TO_DATE('2009-9-30','YYYY-MM-DD'),1),'YYYY-MM-DD'),
TO_CHAR(ADD_MONTHS(TO_DATE('2010-1-30','YYYY-MM-DD'),1),'YYYY-MM-DD')
FROM DUAL;
【执行效果】
执行效果见图6.36。
图 6.36 ADD_MONTHS函数
脚本中使用了TO_DATE()函数,该函数具体用法后面会介绍,它属于转换函数。
2)SESSIONTIMEZONE函数。该函数没有参数,可以返回当前会话的时区。示例脚本如下:
SELECT SESSIONTIMEZONE FROM DUAL;
【执行效果】
执行效果见图6.37。
图 6.37 SESSIONTIMEZONE函数