Oracleでは、ADD_MONTHSを使って日付に月を加算する事ができます。注意点として、2009/09/30のように月末の日付に月を加算すると、その月の月末を計算します。例えば、2009/09/30に1月加算すると、2009/10/31となります。また、2010/01/31に1月加算すると、2010/02/28となります。

文法:

ADD_MONTHS(date, n)

dateに指定した日付にnヶ月を加算する。

使用例:今日の日付の3ヶ月後の日付を取得する。

SELECT sysdate, ADD_MONTHS(sysdate, 3) FROM DUAL;

sysdate     ADD_MONTHS(sysdate, 3)
—————————————————————————
09-09-24     09-10-24

使用例:今日の日付の3カ月前の日付を取得する。

SELECT sysdate, ADD_MONTHS(sysdate, -3) FROM DUAL;

sysdate     ADD_MONTHS(sysdate, -3)
—————————————————————————
09-09-24     09-06-24

使用例:2009/09/30に1月加算する。

SELECT ADD_MONTHS(‘2009/09/30’, 1) FROM DUAL;

ADD_MONTHS(‘2009/09/30’, 1)
———————————————-
2009/10/31

SQLコマンド辞典に戻る

Popular Posts: