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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。