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.3.3 为日期加上指定月份函数 - 图1

图 6.36 ADD_MONTHS函数

脚本中使用了TO_DATE()函数,该函数具体用法后面会介绍,它属于转换函数。

2)SESSIONTIMEZONE函数。该函数没有参数,可以返回当前会话的时区。示例脚本如下:


SELECT SESSIONTIMEZONE FROM DUAL;


【执行效果】

执行效果见图6.37。

6.3.3 为日期加上指定月份函数 - 图2

图 6.37 SESSIONTIMEZONE函数