[DATE_ADD、DATE_SUB] 日付の加算・減算をする。n日後、nか月後を取得する
文書番号:20781
日付の加算・減算をしてn日後、n日前、nか月後、nか月前を計算する方法です。
【関数】
DATE_ADD ・・・日付を加算する
DATE_SUB ・・・日付を減算する
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
https://dev.mysql.com/doc/refman/5.6/ja/date-and-time-functions.html#function_date-add