[DATE_ADD、DATE_SUB] 日付の加算・減算をする。n日後、nか月後を取得する

 
文書番号:20781




日付の加算・減算をしてn日後、n日前、nか月後、nか月前を計算する方法です。

【関数】

DATE_ADD ・・・日付を加算する
DATE_SUB ・・・日付を減算する

【引数】

引数 説明
第1引数 対象の日付を指定します
第2引数 加減算する値と単位を指定します

【戻り値】

結果 説明
計算結果の日付

【サンプル】



--指定した日付の10日後を取得する

SELECT DATE_ADD('2017/01/10', INTERVAL 10 DAY);
--------------------------------------
2017-01-20


--指定した日付の20日前を取得する

SELECT DATE_SUB('2017/08/30',INTERVAL 20 DAY);
--------------------------------------
2017-08-10

--※DATE_ADD 関数でマイナスの値を指定しても減算することができます。

SELECT DATE_ADD('2017/08/30',INTERVAL -20 DAY);
--------------------------------------
2017-08-10


--システム日付の3か月後を取得する

SELECT DATE_ADD(NOW(), INTERVAL 3 MONTH);
--------------------------------------
2017-04-10

--※引数に指定する日付は文字列でも日付型データでもいいようです。

加減算する単位は以下のものを指定できます。(よく使うものを抜粋)
SECOND
MINUTE
HOUR 時間
DAY
WEEK
MONTH
YEAR

【参考情報】

MySQL リファレンス 日付および時間関数 DATEADD
https://dev.mysql.com/doc/refman/5.6/ja/date-and-time-functions.html#function_date-add