【mysql】datetimeに指定した年数、月数、日数、時数、分数、秒数を加減算する方法
2022.03.20
mysqlの日時加減算サンプル。関数は使わず、INTERVALのみです。
目次
1. 指定年数を加算する
1年加算する。
SELECT '2022-03-20 22:33:01' + INTERVAL 1 YEAR
2. 指定年数を減算する
1年減算する。
SELECT '2022-03-20 22:33:01' - INTERVAL 1 YEAR
3. 指定月数を加算する
ひと月を加算する。
SELECT '2022-03-20 22:33:01' + INTERVAL 1 MONTH
4. 指定月数を減算する
ひと月を減算する。
SELECT '2022-03-20 22:33:01' - INTERVAL 1 MONTH
5. 指定日数を加算する
一日を加算する。
SELECT '2022-03-20 22:33:01' + INTERVAL 1 DAY
6. 指定日数を減算する
一日を減算する。SELECT '2022-03-20 22:33:01' - INTERVAL 1 DAY
7. 指定時数を加算する
1時間加算する。
SELECT '2022-03-20 22:33:01' + INTERVAL 1 HOUR
8. 指定時数を減算する
1時間減算する。
SELECT '2022-03-20 22:33:01' - INTERVAL 1 HOUR
9. 指定分数を加算する
1分加算する
。SELECT '2022-03-20 22:33:01' + INTERVAL 1 MINUTE
10. 指定分数を減算する
1分減算する。
SELECT '2022-03-20 22:33:01' - INTERVAL 1 MINUTE
11. 指定秒数を加算する
1秒加算する。
SELECT '2022-03-20 22:33:01' + INTERVAL 1 SECOND
12. 指定秒数を減算する
1秒減算する。
SELECT '2022-03-20 22:33:01' - INTERVAL 1 SECOND
13. 複合計算
複数指定する場合、DAY_SECOND、MINUTE_SECONDなどのキーワードが使えるが、数が多く指定方法もややこしいので、YEAR、MONTH、DAY、HOUR、MINUTE、SECONDキーワードのみでシンプルに加減算。
1年ひと月一日分を減算。
SELECT '2022-03-20 22:33:01' - INTERVAL 1 YEAR - INTERVAL 1 MONTH - INTERVAL 1 DAY
14. まとめ
加減算する数値(n)は年月日時間ごとにINTERVALで指定し、複合的に計算させるのがシンプル。
INTERVAL n YEAR
INTERVAL n MONTH
INTERVAL n DAY
INTERVAL n HOUR
INTERVAL n MINUTE
INTERVAL n SECOND
INTERVAL n MONTH
INTERVAL n DAY
INTERVAL n HOUR
INTERVAL n MINUTE
INTERVAL n SECOND