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 天。