MySQL ADDDATE() 函数使用指南
MySQL ADDDATE()
函数在指定的日期/时间上加上指定到时间间隔加并返回新的日期/时间。
ADDDATE()
语法
这是 MySQL ADDDATE()
函数的语法:
ADDDATE(date, days)
ADDDATE(date, INTERVAL value unit)
参数
date
- 必需的。需要操作的日期。
days
- 必需的。在
date
上加上的天数。 value
- 必需的。时间/日期间隔。正数和负数都是允许的。
unit
- 必需的。时间/日期间隔的单位。
时间/日期间隔的单位可以是以下值中的一个:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
返回值
ADDDATE()
函数指定的日期/时间添加指定的时间间隔,并返回一个新的日期/时间。ADDDATE()
函数的返回值和参数有关:
- 如果
date
参数是DATE
类型,并且时间间隔为YEAR
,MONTH
或者DAY
,返回DATE
。 - 如果
date
参数是DATE
类型,并且时间间隔为HOURS
,MINUTES
或者SECONDS
,返回DATETIME
。 - 如果
date
参数是DATETIME
类型,返回DATETIME
。 - 如果
date
参数是TIME
类型,并且时间间隔为YEAR
,MONTH
或者DAY
,返回DATETIME
。 - 如果
date
参数是TIME
类型,并且计算只涉及HOURS
,MINUTES
和SECONDS
部分,返回TIME
。(开始于 MySQL 8.0.28) - 其他情况下返回字符串。
ADDDATE()
示例
这里是几个 ADDDATE()
函数的示例。
示例 1
SELECT
ADDDATE('2020-06-10', 10),
ADDDATE('2020-06-10', -10)\G
ADDDATE('2020-06-10', 10): 2020-06-20
ADDDATE('2020-06-10', -10): 2020-05-31
示例 2
SELECT
ADDDATE('2020-06-10', INTERVAL 10 DAY),
ADDDATE('2020-06-10', INTERVAL 10 HOUR)\G
ADDDATE('2020-06-10', INTERVAL 10 DAY): 2020-06-20
ADDDATE('2020-06-10', INTERVAL 10 HOUR): 2020-06-10 10:00:00
示例 3
SELECT
ADDDATE('2020-06-10 10:00:00', INTERVAL 10 HOUR),
ADDDATE('2020-06-10 10:00:00', INTERVAL 10 MINUTE)\G
ADDDATE('2020-06-10 10:00:00', INTERVAL 10 HOUR): 2020-06-10 20:00:00
ADDDATE('2020-06-10 10:00:00', INTERVAL 10 MINUTE): 2020-06-10 10:10:00
示例 4
SELECT
ADDDATE(CURDATE(), INTERVAL 10 HOUR),
ADDDATE(NOW(), INTERVAL 10 MINUTE)\G
ADDDATE(CURDATE(), INTERVAL 10 HOUR): 2022-04-11 10:00:00
ADDDATE(NOW(), INTERVAL 10 MINUTE): 2022-04-11 08:35:42