DATE_SUB 执行日期减法运算

DATE_SUB(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)使用 DATE_SUB 函数将目标日期减去 10 天,如下:

mysql> select DATE_SUB('2022-04-22', INTERVAL 10 DAY);
+-----------------------------------------+
| DATE_SUB('2022-04-22', INTERVAL 10 DAY) |
+-----------------------------------------+
| 2022-04-12                              |
+-----------------------------------------+
1 row in set (0.02 sec)

mysql> select DATE_SUB('2022-04-22 12:30:30', INTERVAL 10 DAY);
+--------------------------------------------------+
| DATE_SUB('2022-04-22 12:30:30', INTERVAL 10 DAY) |
+--------------------------------------------------+
| 2022-04-12 12:30:30                              |
+--------------------------------------------------+
1 row in set (0.02 sec)

(2)DATE_SUB 函数在指定加减的时间段时也可以指定负值,加法的负值即返回原始时间之前的日期和时间,减法的负值即返回原始时间之后的日期和时间。如下:

mysql> select DATE_SUB('2022-04-22', INTERVAL -10 DAY);
+------------------------------------------+
| DATE_SUB('2022-04-22', INTERVAL -10 DAY) |
+------------------------------------------+
| 2022-05-02                               |
+------------------------------------------+
1 row in set (0.03 sec)

由执行结果可以看出,DATE_SUB 函数指定参数为 -10,将对 2022-04-22 日期增加 10 天。

关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号