MySQL 日期时间加减的示例代码
发布时间:2023-05-15 14:13:00
MySQL是一种开源的关系型数据库管理系统,我们经常需要进行日期时间操作,例如时间加减,使用MySQL的内置函数可以方便地实现。本文将介绍MySQL中日期时间加减的示例代码。
1.使用DATE_ADD()函数进行日期加减
DATE_ADD()函数可以将一个日期加上一个时间间隔,使用方法如下:
SELECT DATE_ADD('2020-06-10', INTERVAL 1 DAY) as '加1天',
DATE_ADD('2020-06-10', INTERVAL 1 MONTH) as '加1个月',
DATE_ADD('2020-06-10', INTERVAL 1 YEAR) as '加1年';
输出结果如下:
+------------+------------+------------+ | 加1天 | 加1个月 | 加1年 | +------------+------------+------------+ | 2020-06-11 | 2020-07-10 | 2021-06-10 | +------------+------------+------------+
上述代码中,我们可以以年、月、日或者小时等为单位指定间隔。例如:
SELECT DATE_ADD('2020-06-10', INTERVAL 2 HOUR) as '加两小时',
DATE_ADD('2020-06-10', INTERVAL 3 MINUTE) as '加三分钟',
DATE_ADD('2020-06-10', INTERVAL 30 SECOND) as '加30秒';
输出结果如下:
+---------------------+---------------------+---------------------+ | 加两小时 | 加三分钟 | 加30秒 | +---------------------+---------------------+---------------------+ | 2020-06-10 02:00:00 | 2020-06-10 00:03:00 | 2020-06-10 00:00:30 | +---------------------+---------------------+---------------------+
2.使用DATE_SUB()函数进行日期加减
DATE_SUB()函数和DATE_ADD()函数类似,不过它是用来减去一个时间间隔的。使用方法也类似:
SELECT DATE_SUB('2020-06-10', INTERVAL 1 DAY) as '减1天',
DATE_SUB('2020-06-10', INTERVAL 1 MONTH) as '减1个月',
DATE_SUB('2020-06-10', INTERVAL 1 YEAR) as '减1年';
输出结果如下:
+------------+------------+------------+ | 减1天 | 减1个月 | 减1年 | +------------+------------+------------+ | 2020-06-09 | 2020-05-10 | 2019-06-10 | +------------+------------+------------+
3.使用TIMESTAMPADD()函数进行日期加减
TIMESTAMPADD()函数也可以用来进行日期加减,但是它有一个不同于DATE_ADD()函数的优点,就是它可以通过秒来指定间隔。使用方法如下:
SELECT TIMESTAMPADD(DAY, 1, '2020-06-10') as '加1天',
TIMESTAMPADD(MONTH, 1, '2020-06-10') as '加1个月',
TIMESTAMPADD(YEAR, 1, '2020-06-10') as '加1年',
TIMESTAMPADD(SECOND, 1000, '2020-06-10 12:00:00') as '加1000秒';
输出结果如下:
+------------+------------+------------+---------------------+ | 加1天 | 加1个月 | 加1年 | 加1000秒 | +------------+------------+------------+---------------------+ | 2020-06-11 | 2020-07-10 | 2021-06-10 | 2020-06-10 12:16:40 | +------------+------------+------------+---------------------+
上述代码中,我们使用DAY、MONTH、YEAR、SECOND来指定时间间隔的单位。
4.使用TIMESTAMPDIFF()函数计算时间间隔
如果我们需要计算两个日期之间的时间间隔,可以使用TIMESTAMPDIFF()函数。使用方法如下:
SELECT TIMESTAMPDIFF(DAY, '2020-06-10', '2020-07-10') as '相差天数',
TIMESTAMPDIFF(MINUTE, '2020-06-10 12:00:00', '2020-06-10 12:10:00') as '相差分钟数',
TIMESTAMPDIFF(SECOND, '2020-06-10 12:00:00', '2020-06-10 12:00:30') as '相差秒数';
输出结果如下:
+------------+-------------+------------+ | 相差天数 | 相差分钟数 | 相差秒数 | +------------+-------------+------------+ | 30 | 10 | 30 | +------------+-------------+------------+
上述代码中,我们需要指定时间间隔的单位(DAY、MINUTE、SECOND等)。函数的 个参数是较大的日期,第二个参数是较小的日期,函数会返回它们之间的时间间隔。
总结
本文介绍了MySQL中日期时间加减的示例代码,包括使用DATE_ADD()、DATE_SUB()和TIMESTAMPADD()函数进行日期加减,以及使用TIMESTAMPDIFF()函数计算时间间隔。这些函数可以帮助我们在数据库中方便地进行日期时间操作。
