mysql中date_add()函数的使用

本文介绍MySQL中date_add()函数的使用方法,包括如何对日期进行加减操作,如加天数、小时数、分钟数和秒数等。适用于需要进行日期时间计算的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql中date_add()函数的使用?
需求描述:

在使用mysql的过程中,需要对日期进行计算,比如对某个日期加上几天,几个小时等操作,

在此记录下,date_add()函数的使用.

操作过程:

date_add()函数语法:

DATE_ADD(date,INTERVAL expr unit)

备注:date_add()和adddate()是同义词.

参数说明:

date:起始日期或者起始时间

expr:指定的是一个间隔值,在起始时间中增加或者减少,注意:expr是一个字符串.对于负值间隔,可以以"-"开头

unit:表示的是一个单位,比如,加上的是1天还是一个小时.

1.对某个日期加上n天的操作

复制代码
mysql> select date_add(‘2018-06-26’,INTERVAL ‘5’ day);
±----------------------------------------+
| date_add(‘2018-06-26’,INTERVAL ‘5’ day) |
±----------------------------------------+
| 2018-07-01 |
±----------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add(‘2018-06-26’,INTERVAL ‘-5’ day);
±-----------------------------------------+
| date_add(‘2018-06-26’,INTERVAL ‘-5’ day) |
±-----------------------------------------+
| 2018-06-21 |
±-----------------------------------------+
1 row in set (0.01 sec)
复制代码
备注:expr是字符串,如果加上的正值的天数,直接’5’即可,如果是减可以用date_sub函数或者expr为负值’-5’.

2.对某个日期加上n小时,n分钟,n秒的操作

复制代码
mysql> select date_add(‘2018-06-26 23:59:59’,INTERVAL 1 hour); #对于日期加上1小时
±------------------------------------------------+
| date_add(‘2018-06-26 23:59:59’,INTERVAL 1 hour) |
±------------------------------------------------+
| 2018-06-27 00:59:59 |
±------------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add(‘2018-06-26 23:59:59’,INTERVAL 1 minute); #对于日期加上1分钟
±--------------------------------------------------+
| date_add(‘2018-06-26 23:59:59’,INTERVAL 1 minute) |
±--------------------------------------------------+
| 2018-06-27 00:00:59 |
±--------------------------------------------------+
1 row in set (0.00 sec)

mysql> select date_add(‘2018-06-26 23:59:59’,INTERVAL 1 second); #对日期加上1秒钟
±--------------------------------------------------+
| date_add(‘2018-06-26 23:59:59’,INTERVAL 1 second) |
±--------------------------------------------------+
| 2018-06-27 00:00:00 |
±--------------------------------------------------+
1 row in set (0.00 sec)
复制代码
3.对于某个日期加上n分钟n秒

复制代码
mysql> select date_add(‘2018-06-26 23:59:59’,INTERVAL ‘1:1’ MINUTE_SECOND);
±-------------------------------------------------------------+
| date_add(‘2018-06-26 23:59:59’,INTERVAL ‘1:1’ MINUTE_SECOND) |
±-------------------------------------------------------------+
| 2018-06-27 00:01:00 |
±-------------------------------------------------------------+
1 row in set (0.00 sec)
复制代码
备注:一次性加上1分钟,一秒.

4.对于某个日期加上n小时n分钟n秒

复制代码
mysql> select date_add(‘2018-06-26 23:59:59’,INTERVAL ‘1:1:1’ HOUR_SECOND);
±-------------------------------------------------------------+
| date_add(‘2018-06-26 23:59:59’,INTERVAL ‘1:1:1’ HOUR_SECOND) |
±-------------------------------------------------------------+
| 2018-06-27 01:01:00 |
±-------------------------------------------------------------+
1 row in set (0.00 sec)
复制代码
备注:单位HOUR_SECOND就是从小时到秒.expr:HOURS:MINUTES:SECONDS

5.对某个日期加上n小时n分钟

复制代码
mysql> select date_add(‘2018-06-26 23:59:59’,INTERVAL ‘1:1’ HOUR_MINUTE);
±-----------------------------------------------------------+
| date_add(‘2018-06-26 23:59:59’,INTERVAL ‘1:1’ HOUR_MINUTE) |
±-----------------------------------------------------------+
| 2018-06-27 01:00:59 |
±-----------------------------------------------------------+
1 row in set (0.00 sec)
复制代码
备注:加上1小时1分钟

6.对某个日期加上几天几小时几分钟几秒钟

复制代码
mysql> select date_add(‘2018-06-26 23:59:59’,INTERVAL ‘2 2:1:1’ DAY_SECOND);
±--------------------------------------------------------------+
| date_add(‘2018-06-26 23:59:59’,INTERVAL ‘2 2:1:1’ DAY_SECOND) |
±--------------------------------------------------------------+
| 2018-06-29 02:01:00 |
±--------------------------------------------------------------+
1 row in set (0.00 sec)
复制代码
备注:在日期上加上2天2小时2分钟1秒钟

unit(单位)和expr(表达式)对照表:
在这里插入图片描述

小结:

对于某个日期的计算,无论加上多少,都可以根据这个表格进行调整.对于日期的减法,尽量用date_sub()函数来实现.
原文转载:https://www.cnblogs.com/chuanzhang053/p/9228798.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值