SQL ADD_MONTHS 関数

ADD_MONTHSはnか月後又はnか月前の日付を返すSQL関数である。

ADD_MONTHS
DBMS ADD_MONTHS
MySQL
Oracle
PostgreSQL
SQL Server

ADD_MONTHSの構文

ADD_MONTHS(date, integer)
date

基準となる日時を指定する。

integer

月数を指定する。integerが正の値ならdateの後、負の値ならdateの前の日付を戻す。

ADD_MONTHSの例

現在の日付と時刻はSYSDATEで取得できる。ADD_MONTHS関数と組み合わせることによって、1か月後の日付や1か月前の日付を取得できる。

SQL> SELECT SYSDATE AS 今日 FROM DUAL;

今日
--------
16-08-23

SQL> SELECT ADD_MONTHS(SYSDATE, 1) AS 来月 FROM DUAL;

来月
--------
16-09-23

SQL> SELECT ADD_MONTHS(SYSDATE, -1) AS 先月 FROM DUAL;

先月
--------
16-07-23

SQL>

来月末や先月末などを取得するには、LAST_DAY関数と組み合わせる。

SQL> SELECT SYSDATE AS 今日 FROM DUAL;

今日
--------
16-08-23

SQL> SELECT LAST_DAY(ADD_MONTHS(SYSDATE, 1)) AS 来月末 FROM DUAL;

来月末
--------
16-09-30

SQL> SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) AS 先月末 FROM DUAL;

先月末
--------
16-07-31

SQL>

来月1日や先月1日の日付を取得するには、TRUNC関数と組み合わせる。

SQL> SELECT SYSDATE AS 今日 FROM DUAL;

今日
--------
16-08-23

SQL> SELECT TRUNC(ADD_MONTHS(SYSDATE, 1), 'MM') AS 来月1日 FROM DUAL;

来月1日
--------
16-09-01

SQL> SELECT TRUNC(ADD_MONTHS(SYSDATE, -1), 'MM') AS 先月1日 FROM DUAL;

先月1日
--------
16-07-01

SQL>

関連するSQL関数