MariaDB TIMESTAMPADD() 函数将指定的间隔添加到日期或日期时间值,然后返回修改后的值。 interval 的单位由 unit 参数指定,可以是以下值之一:MICROSECOND、SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER或 YEAR。
可以使用所示的关键字之一或使用 SQL_TSI_ 前缀来指定单位值。例如,DAY 和 SQL_TSI_DAY 都可以使用。
语法
TIMESTAMPADD(unit, interval, datetime)
参数
datetime | 必填。 指定要修改的日期或日期时间值。 |
interval | 必填。 指定要添加的间隔值。允许正值和负值。 |
unit | 必填。 指定要添加的间隔的单位类型。它可以是以下值之一:
|
返回值
返回修改后的日期/日期时间值。
示例 1:
下面的示例显示了TIMESTAMPADD() 函数的用法。
SELECT TIMESTAMPADD(DAY, 10, '2019-10-25');
Result: '2019-11-04'
SELECT TIMESTAMPADD(SQL_TSI_DAY, 10, '2019-10-25');
Result: '2019-11-04'
SELECT TIMESTAMPADD(HOUR, 2, '2019-10-25 08:10:25');
Result: '2019-10-25 10:10:25'
SELECT TIMESTAMPADD(HOUR, -2, '2019-10-25 08:10:25');
Result: '2019-10-25 06:10:25'
SELECT TIMESTAMPADD(MINUTE, 30, '2019-10-25 08:10:25');
Result: '2019-10-25 08:40:25'
SELECT TIMESTAMPADD(SECOND, -10, '2019-10-25 08:10:25');
Result: '2019-10-25 08:10:15'
SELECT TIMESTAMPADD(WEEK, 1, '2019-10-25 08:10:25');
Result: '2019-11-01 08:10:25'
SELECT TIMESTAMPADD(MONTH, -2, '2019-10-25');
Result: '2019-08-25'
SELECT TIMESTAMPADD(QUARTER, 2, '2019-10-25');
Result: '2020-04-25'
SELECT TIMESTAMPADD(YEAR, 2, '2019-10-25');
Result: '2021-10-25'
SELECT TIMESTAMPADD(MICROSECOND, 10, '2019-10-25 08:10:25');
Result: '2019-10-25 08:10:25.000010'
示例 2:
考虑一个名为 EmployeeLogin 的数据库表,其中包含以下记录:
EmpID | Name | Login Stamp | Expected Logout Stamp |
---|---|---|---|
1 | John | 2019-10-25 09:20:38 | 2019-10-25 17:20:38 |
2 | Marry | 2019-10-25 09:21:05 | 2019-10-25 17:21:05 |
3 | Jo | 2019-10-25 09:24:35 | 2019-10-25 17:24:35 |
4 | Kim | 2019-10-25 09:25:24 | 2019-10-25 17:25:24 |
5 | Ramesh | 2019-10-25 09:27:16 | 2019-10-25 17:27:16 |
要在此表中插入新记录,可以使用以下语句。
INSERT INTO EmployeeLogin
VALUES (6, 'Suresh', NOW(), TIMESTAMPADD(HOUR, 8, NOW()));
-- 查看结果
SELECT * FROM EmployeeLogin;
这将产生类似于以下内容的结果:
EmpID | Name | Login Stamp | Expected Logout Stamp |
---|---|---|---|
1 | John | 2019-10-25 09:20:38 | 2019-10-25 17:20:38 |
2 | Marry | 2019-10-25 09:21:05 | 2019-10-25 17:21:05 |
3 | Jo | 2019-10-25 09:24:35 | 2019-10-25 17:24:35 |
4 | Kim | 2019-10-25 09:25:24 | 2019-10-25 17:25:24 |
5 | Ramesh | 2019-10-25 09:27:16 | 2019-10-25 17:27:16 |
6 | Suresh | 2019-10-25 09:28:19 | 2019-10-25 17:28:19 |