MySQL 的 ADDDATE(~) 方法將指定的時間間隔添加到日期或日期時間值。
用法
SELECT ADDDATE(date, INTERVAL expr unit);
SELECT ADDDATE(date, days);
參數
1. date | date/datetime
要添加時間間隔的日期或日期時間。
2. days | integer
添加到提供的 date 的天數。
3. expr unit | integer with units
添加到提供的 date 的間隔及其單位。
請參閱頁麵底部的“單位列表”,了解有效的單位列表。
警告
必須指定days 或expr unit 參數,它們不能一起使用。
返回值
將指定間隔添加到 date 的結果。
例子
考慮下表有關一些學生的信息:
| 
 student_id  | 
 名稱  | 
 名字  | 
 day_enrolled  | 
 年齡  | 
 用戶名  | 
|---|---|---|---|---|---|
| 
 1  | 
 Sky  | 
 Towner  | 
 2015-12-03  | 
 17  | 
 stowner1  | 
| 
 2  | 
 Ben  | 
 Davis  | 
 2016-04-20  | 
 19  | 
 bdavis2  | 
| 
 3  | 
 Travis  | 
 Apple  | 
 2018-08-14  | 
 18  | 
 tapple3  | 
| 
 4  | 
 Arthur  | 
 David  | 
 2016-04-01  | 
 16  | 
 adavid4  | 
| 
 5  | 
 Benjamin  | 
 Town  | 
 2014-01-01  | 
 17  | 
 btown5  | 
可以使用此處的代碼創建上述示例表。
基本用法
要將學生注冊日期添加 2 天:
SELECT fname, day_enrolled, ADDDATE(day_enrolled, 2)
FROM students;
+----------+--------------+--------------------------+
| fname    | day_enrolled | ADDDATE(day_enrolled, 2) |
+----------+--------------+--------------------------+
| Sky      | 2015-12-03   | 2015-12-05               |
| Ben      | 2016-04-20   | 2016-04-22               |
| Travis   | 2018-08-14   | 2018-08-16               |
| Arthur   | 2016-04-01   | 2016-04-03               |
| Benjamin | 2014-01-01   | 2014-01-03               |
+----------+--------------+--------------------------+
要將學生入學日期增加 2 個月:
SELECT fname, day_enrolled, ADDDATE(day_enrolled, INTERVAL 2 MONTH)
FROM students;
+----------+--------------+-----------------------------------------+
| fname    | day_enrolled | ADDDATE(day_enrolled, INTERVAL 2 MONTH) |
+----------+--------------+-----------------------------------------+
| Sky      | 2015-12-03   | 2016-02-03                              |
| Ben      | 2016-04-20   | 2016-06-20                              |
| Travis   | 2018-08-14   | 2018-10-14                              |
| Arthur   | 2016-04-01   | 2016-06-01                              |
| Benjamin | 2014-01-01   | 2014-03-01                              |
+----------+--------------+-----------------------------------------+
負間隔
要從日期中減去 1 天:
SELECT ADDDATE('2020-01-01', -1);
+---------------------------+
| ADDDATE('2020-01-01', -1) |
+---------------------------+
| 2019-12-31                |
+---------------------------+
請注意,有一個單獨的方法 SUBDATE(~) 專門用於從日期/日期時間中減去間隔。
單位名單
下表列出了支持的單位:
| 
 單元  | 
 預期的輸入格式  | 
|---|---|
| 
 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  | 
 
  | 
相關用法
- MySQL ADDDATE()用法及代碼示例
 - MySQL ADDTIME方法用法及代碼示例
 - MySQL ADDTIME()用法及代碼示例
 - MySQL ATAN2方法用法及代碼示例
 - MySQL AS用法及代碼示例
 - MySQL ABS()用法及代碼示例
 - MySQL ATAN2()用法及代碼示例
 - MySQL ACOS()用法及代碼示例
 - MySQL Automatic Initialization and updating for TIMESTAMP and DATETIME用法及代碼示例
 - MySQL ABS方法用法及代碼示例
 - MySQL AVG()用法及代碼示例
 - MySQL ASIN方法用法及代碼示例
 - MySQL ATAN方法用法及代碼示例
 - MySQL AND用法及代碼示例
 - MySQL AES_DECRYPT()用法及代碼示例
 - MySQL AVG方法用法及代碼示例
 - MySQL ATAN()用法及代碼示例
 - MySQL ASIN()、ACOS()用法及代碼示例
 - MySQL ASCII方法用法及代碼示例
 - MySQL ASIN()用法及代碼示例
 - MySQL ASCII()用法及代碼示例
 - MySQL ACOS方法用法及代碼示例
 - MySQL AES_ENCRYPT()用法及代碼示例
 - MySQL ROUND()用法及代碼示例
 - MySQL REPEAT()用法及代碼示例
 
注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | ADDDATE method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
