【Oracle】ADD_MONTHS で月を加算・減算する【SQL】

月を加算・減算するADD_MONTHS

Oracleで月を足したり引いたり加算・減算するにはADD_MONTHSを使います。

構文

ADD_MONTHS(日付,加算・減算する月数)

日付を指定された月数で加算・減算します。

例1. 現在日に1月足すパターン

--システム日付を取得する
SELECT SYSDATE FROM DUAL;
[結果] 2022/01/01 05:05:15

--1ヶ月足す
SELECT ADD_MONTHS(SYSDATE, 1) FROM DUAL;
[結果] 2022/02/01 05:05:15

ここでは「ADD_MONTHS」を使って本日からひと月を加算しました。

例2. 現在日から2ヶ月前を取得するパターン

--システム日付を取得する
SELECT SYSDATE FROM DUAL;
[結果] 2022/01/01 05:05:15

--2ヶ月引く
SELECT ADD_MONTHS(SYSDATE, -2) FROM DUAL;
[結果] 2021/11/01 05:05:15

ここでは「ADD_MONTHS」を「-2」にして本日から2月前を取得しました。

例3. 月末を取得するパターン

--システム日付を取得する
SELECT SYSDATE FROM DUAL;
[結果] 2022/01/31 05:05:15

--1ヶ月足す
SELECT ADD_MONTHS(SYSDATE, 1) FROM DUAL;
[結果] 2022/02/28 05:05:15

月末日にプラスマイナスするとプラスマイナスされた月の月末日が返されます。ここでは「1月31日」の1ヶ月後は「2月28日」に補正されて返されました。

ADD_MONTHSを使うことで月を加算・減算することができました。

以上、Oracleで月を加算・減算するADD_MONTHSの使い方でした。

コメント