SQL DATE_ADD() 加上一個日期時間區間
在 MySQL 中,處理日期加減的函數有 DATE_ADD() 和 DATE_SUB(),其中加日期時間是用 DATE_ADD(),減日期時間則是用 DATE_SUB()。
DATE_ADD() 語法 (Syntax)
DATE_ADD(datetime, INTERVAL expr unit)
expr 用來指定你要加上的時間間隔,unit 是 expr 的單位。
unit 可以是下列的值:
- MICROSECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
- SECOND_MICROSECOND
- MINUTE_MICROSECOND
- MINUTE_SECOND
- HOUR_MICROSECOND
- HOUR_SECOND
- HOUR_MINUTE
- DAY_MICROSECOND
- DAY_SECOND
- DAY_MINUTE
- DAY_HOUR
- YEAR_MONTH
DATE_ADD() 範例 (Example)
取得一天後的日期時間:
mysql> SELECT DATE_ADD('2018-05-01',INTERVAL 1 DAY);
'2018-05-02'
mysql> SELECT DATE_ADD('2018-12-31 23:59:59', INTERVAL 1 DAY);
'2019-01-01 23:59:59'
取得一年後的日期時間:
mysql> SELECT DATE_ADD('2018-05-01',INTERVAL 1 YEAR);
'2019-05-01'
也可以用負號 -
表示是減掉時間:
mysql> SELECT DATE_ADD('2018-05-01',INTERVAL -1 YEAR);
'2017-05-01'
取得一個月後的日期時間:
mysql> SELECT DATE_ADD('2018-05-01',INTERVAL 1 MONTH);
'2018-06-01'
取得一秒鐘後的日期時間:
mysql> SELECT DATE_ADD('2020-12-31 23:59:59', INTERVAL 1 SECOND);
'2021-01-01 00:00:00'
取得一個禮拜後的日期時間:
mysql> SELECT DATE_ADD('2018-11-28',INTERVAL 1 WEEK);
'2018-12-05'