首页 > MySQL函数

MySQL DATE_SUB和SUBDATE函数:日期减法运算

MySQL DATE_SUB(date,INTERVAL expr type) 和 SUBDATE(date,INTERVAL expr type) 两个函数作用相同,都是执行日期的减法运算。

DATE_SUB() 和 SUBDATE() 函数接受两个参数:
【实例】使用 DATE_SUB(date,INTERVAL expr type) 和 SUBDATE(date,INTERVAL expr type) 函数执行日期的减运算,输入 SQL 语句与执行结果如下。
mysql> SELECT DATE_SUB('2018-01-02',INTERVAL 31 DAY) AS C1,
    -> SUBDATE('2018-01-02',INTERVAL 31 DAY) AS C2,
    -> DATE_SUB('2018-01-01 00:01:00',INTERVAL '0 0:1:1' DAY_SECOND) AS C3;
+------------+------------+---------------------+
| C1         | C2         | C3                  |
+------------+------------+---------------------+
| 2017-12-02 | 2017-12-02 | 2017-12-31 23:59:59 |
+------------+------------+---------------------+
1 row in set (0.00 sec)
由执行结果可以看出,DATE_SUB(date,INTERVAL expr type) 和SUBDATE (date,INTERVAL expr type) 函数的功能完全相同。

提示:DATE_ADD(date,INTERVAL expr type) 和 DATE_SUB(date,INTERVAL expr type) 函数在指定加减的时间段时也可以指定负值,加法的负值即返回原始时间之前的日期和时间,减法的负值即返回原始时间之后的日期和时间。

推荐阅读