欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL DATE_ADD和ADDDATE函数实现向日期添加指定时间间隔

程序员文章站 2022-06-28 17:38:05
mysql date_add(date,interval expr type) 和 adddate(date,interval expr type) 两个函数的作用相同,都是用于执行日期的加运算。da...

mysql date_add(date,interval expr type) 和 adddate(date,interval expr type) 两个函数的作用相同,都是用于执行日期的加运算。

date_add() 和 adddate() 函数有两个参数:

  • date 是 date 或 datetime 的起始值。
  • interval expr type是要添加到起始日期值的间隔值。

【实例 1】使用 date_add(date,interval expr type) 函数执行日期的加运算。输入 sql 语句和执行结果如下。

mysql> select date_add('2018-10-31 23:59:59',interval 1 second) as c1,
  -> date_add('2018-10-31 23:59:59',interval '1:1' minute_second) as c2,
  -> adddate('2018-10-31 23:59:59',interval 1 second) as c3;
+---------------------+---------------------+---------------------+
| c1         | c2         | c3         |
+---------------------+---------------------+---------------------+
| 2018-11-01 00:00:00 | 2018-11-01 00:01:00 | 2018-11-01 00:00:00 |
+---------------------+---------------------+---------------------+
1 row in set (0.00 sec)

由执行结果可以看出,date_add(date,interval expr type) 和 adddate(date,interval expr type) 函数的功能完全相同,在原始时间 '2018-10-31 23:59:59' 上加 1 秒之后结果都是 '2018-11-01 00:00:00' ;在原始时间上加 1 分钟 1 秒的写法是表达式 '1:1',最终可得结果 '2018-11-01 00:01:00'。

【实例 2】使用 adddate() 函数执行日期的加操作,输入的 sql 语句和执行结果如下所示。

mysql> select adddate('2017-11-30 23:59:59', interval 1 second) as col1,
  -> adddate('2017-11-30 23:59:59' ,interval '1:1' minute_second) as col2;
+---------------------+---------------------+
| col1        | col2        |
+---------------------+---------------------+
| 2017-12-01 00:00:00 | 2017-12-01 00:01:00 |
+---------------------+---------------------+
1 row in set (0.02 sec)

由运行结果可以看到,adddate('2017-11-30 23:59:59',interval 1 second) 函数执行的结果将时间增加 1 秒后返回,结果为“2017-12-01 00:00:00”;adddate('2017-11-30 23:59:59',interval'1:1'minute_second) 函数的日期运算类型是 minute_second,将指定时间增加 1 分 1 秒后返回,结果为“2017-12-01 00:01:00”。

到此这篇关于mysql date_add和adddate函数实现向日期添加指定时间间隔的文章就介绍到这了,更多相关mysql 指定时间间隔内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: MySQL 时间间隔