SUBDATE(date, INTERVAL expr type) 函数用来执行日期的减法运算。
date 是 DATE 或 DATETIME 的起始值。
expr 是一个字符串,用于确定从起始日期减去的间隔值。type 取值如下:
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
(1)使用 SUBDATE 函数将目标日期减去 10 天,如下:
mysql> select SUBDATE('2022-04-22', INTERVAL 10 DAY); +----------------------------------------+ | SUBDATE('2022-04-22', INTERVAL 10 DAY) | +----------------------------------------+ | 2022-04-12 | +----------------------------------------+ 1 row in set (0.02 sec) mysql> select SUBDATE('2022-04-22 12:30:30', INTERVAL 10 DAY); +-------------------------------------------------+ | SUBDATE('2022-04-22 12:30:30', INTERVAL 10 DAY) | +-------------------------------------------------+ | 2022-04-12 12:30:30 | +-------------------------------------------------+ 1 row in set (0.03 sec)
(2)SUBDATE 函数在指定加减的时间段时也可以指定负值,加法的负值即返回原始时间之前的日期和时间,减法的负值即返回原始时间之后的日期和时间。如下:
mysql> select SUBDATE('2022-04-22', INTERVAL -10 DAY); +-----------------------------------------+ | SUBDATE('2022-04-22', INTERVAL -10 DAY) | +-----------------------------------------+ | 2022-05-02 | +-----------------------------------------+ 1 row in set (0.03 sec)
由执行结果可以看出,SUBDATE 函数指定参数为 -10,将对 2022-04-22 日期增加 10 天。