【mysql】datetimeに指定した年数、月数、日数、時数、分数、秒数を加減算する方法| プロサバメモ

WEBプログラミングやサーバ設定などのメモ場

【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

関連記事

TOP