MySQL 的 TIMESTAMP_ADD(~)
方法将指定的单位间隔添加到日期或日期时间值。
参数
1. unit
| unit
指定间隔的单位。
可能的单位值 |
---|
MICROSECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR |
2. interval
| integer
添加到提供的日期/日期时间的间隔。
3. datetime_expr
| date/datetime
要添加间隔的日期/日期时间值。
返回值
将指定单位间隔添加到输入日期或日期时间的结果。
例子
考虑下表有关一些学生的信息:
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 |
可以使用此处的代码创建上述示例表。
基本用法
要将 1
小时添加到学生注册日期:
SELECT fname, day_enrolled, TIMESTAMPADD(HOUR, 1, day_enrolled)
FROM students;
+----------+--------------+-------------------------------------+
| fname | day_enrolled | TIMESTAMPADD(HOUR, 1, day_enrolled) |
+----------+--------------+-------------------------------------+
| Sky | 2015-12-03 | 2015-12-03 01:00:00 |
| Ben | 2016-04-20 | 2016-04-20 01:00:00 |
| Travis | 2018-08-14 | 2018-08-14 01:00:00 |
| Arthur | 2016-04-01 | 2016-04-01 01:00:00 |
| Benjamin | 2014-01-01 | 2014-01-01 01:00:00 |
+----------+--------------+-------------------------------------+
要将 2
个月添加到学生注册日期:
SELECT fname, day_enrolled, TIMESTAMPADD(MONTH, 2, day_enrolled)
FROM students;
+----------+--------------+--------------------------------------+
| fname | day_enrolled | TIMESTAMPADD(MONTH, 2, day_enrolled) |
+----------+--------------+--------------------------------------+
| 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 |
+----------+--------------+--------------------------------------+
负间隔
添加负间隔(即减去间隔):
SELECT fname, day_enrolled, TIMESTAMPADD(DAY, -1, day_enrolled)
FROM students;
+----------+--------------+-------------------------------------+
| fname | day_enrolled | TIMESTAMPADD(DAY, -1, day_enrolled) |
+----------+--------------+-------------------------------------+
| Sky | 2015-12-03 | 2015-12-02 |
| Ben | 2016-04-20 | 2016-04-19 |
| Travis | 2018-08-14 | 2018-08-13 |
| Arthur | 2016-04-01 | 2016-03-31 |
| Benjamin | 2014-01-01 | 2013-12-31 |
+----------+--------------+-------------------------------------+
这里我们从学生注册日期中减去 1 天。
相关用法
- MySQL TIMESTAMPDIFF()用法及代码示例
- MySQL TIMESTAMP方法用法及代码示例
- MySQL TIMESTAMPDIFF方法用法及代码示例
- MySQL TIME_FORMAT方法用法及代码示例
- MySQL TIMEDIFF方法用法及代码示例
- MySQL TIME方法用法及代码示例
- MySQL TIME_TO_SEC方法用法及代码示例
- MySQL TIME用法及代码示例
- MySQL TIME()用法及代码示例
- MySQL TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT用法及代码示例
- MySQL TO_DAYS方法用法及代码示例
- MySQL TRUNCATE方法用法及代码示例
- MySQL TAN方法用法及代码示例
- MySQL TRIM()用法及代码示例
- MySQL TAN()用法及代码示例
- MySQL TO_BASE64方法用法及代码示例
- MySQL TO_SECONDS方法用法及代码示例
- MySQL Trim()用法及代码示例
- MySQL TRUNCATE用法及代码示例
- MySQL TRUNCATE()用法及代码示例
- MySQL TRIM方法用法及代码示例
- MySQL ROUND()用法及代码示例
- MySQL REPEAT()用法及代码示例
- MySQL POWER()用法及代码示例
- MySQL LEAD() and LAG()用法及代码示例
注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | TIMESTAMPADD method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。