MySQL 的 DATE_ADD(~) 方法将指定的时间间隔添加到日期或日期时间值。
用法
SELECT DATE_ADD(date, INTERVAL expr unit);
参数
1. date | date/datetime
要添加时间间隔的日期/日期时间。
2. expr unit | integer with units
添加到提供的 date 的间隔及其单位。
请参阅页面底部的“单位列表”,了解有效的单位列表。
返回值
将指定间隔添加到 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, DATE_ADD(day_enrolled, INTERVAL 2 DAY)
FROM students;
+----------+--------------+----------------------------------------+
| fname    | day_enrolled | DATE_ADD(day_enrolled, INTERVAL 2 DAY) |
+----------+--------------+----------------------------------------+
| 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, DATE_ADD(day_enrolled, INTERVAL 2 MONTH)
FROM students;
+----------+--------------+------------------------------------------+
| fname    | day_enrolled | DATE_ADD(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 DATE_ADD('2020-01-01', INTERVAL -1 DAY);
+-----------------------------------------+
| DATE_ADD('2020-01-01', INTERVAL -1 DAY) |
+-----------------------------------------+
| 2019-12-31                              |
+-----------------------------------------+
请注意,有一个单独的方法 DATE_SUB(~) 专门用于从日期/日期时间中减去间隔。
单位名单
下表列出了支持的单位:
| 
 单元  | 
 预期的输入格式  | 
|---|---|
| 
 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 DATE_ADD()用法及代码示例
 - MySQL DATE_FORMAT方法用法及代码示例
 - MySQL DATE_SUB()用法及代码示例
 - MySQL DATE_FORMAT()用法及代码示例
 - MySQL DATE_SUB方法用法及代码示例
 - MySQL DATEDIFF方法用法及代码示例
 - MySQL DATE方法用法及代码示例
 - MySQL DATEDIFF()用法及代码示例
 - MySQL DATE()用法及代码示例
 - MySQL DAYOFMONTH()用法及代码示例
 - MySQL DAY方法用法及代码示例
 - MySQL DAYOFYEAR()用法及代码示例
 - MySQL DAYNAME方法用法及代码示例
 - MySQL DAYOFMONTH方法用法及代码示例
 - MySQL DAYNAME()用法及代码示例
 - MySQL DAYOFWEEK方法用法及代码示例
 - MySQL DAY()用法及代码示例
 - MySQL DAYOFYEAR方法用法及代码示例
 - MySQL DAYOFWEEK()用法及代码示例
 - MySQL DES_ENCRYPT()用法及代码示例
 - MySQL DEGREES方法用法及代码示例
 - MySQL DES_DECRYPT()用法及代码示例
 - MySQL DELETE用法及代码示例
 - MySQL DECODE( )用法及代码示例
 - MySQL DIV用法及代码示例
 
注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | DATE_ADD method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
