MySQL DATE_SUB 函数

MySQL DATE_SUB 函数是日期函数之一,用于从给定日期中移除或减去用户指定的间隔,并返回日期或日期时间。DATE_SUB 函数的基本语法如下所示。

DATE_SUB(Date, INTERVAL expression Unit);
  • 日期:它可以接受 DateTime 值或字符串日期。
  • 表达式:您必须指定要减去的单位或数值。例如,2 MONTH 表示从给定的日期减去两个月。
  • 单位:它可以接受从微秒到年的单位值。

MySQL DATE_SUB 函数示例

以下是帮助您理解此日期减法方法用法的示例列表。

在这里,我们从给定的 DateTime (2019-02-10 10:15:20.000010) 中减去了 1000 微秒、250 秒和 720 分钟。我建议您参考 MySQL 中的 日期函数 文章,以了解间隔后面的单位。

SELECT DATE_SUB('2019-02-10 10:15:20.000010', INTERVAL 1000 MICROSECOND);

SELECT DATE_SUB('2019-02-10 10:15:20.000010', INTERVAL 250 SECOND);

SELECT DATE_SUB('2019-02-10 10:15:20.000010', INTERVAL 720 MINUTE);
Subtract Dates Example 1

DATE_SUB 函数示例 2

在此 DATE_SUB 函数示例中,首先我们减去了 420 小时。在下一个语句中,我们从给定的 Datetime 表达式中减去了 120 天。在第三个语句中,我们移除了 12 周。

SELECT DATE_SUB('2019-02-10 10:15:20.000010', INTERVAL 420 HOUR);

SELECT DATE_SUB('2019-02-10 10:15:20.000010', INTERVAL 120 DAY);

SELECT DATE_SUB('2019-02-10 10:15:20.000010', INTERVAL 12 WEEK);
DATE_SUB With INTERVAL Example 2

DATE SUB 函数示例 3

在此示例中,我们从给定的 Datetime 表达式中移除或减去了 33 个月、12 个季度和 16 年。

SELECT DATE_SUB('2019-02-10 10:15:20.000010', INTERVAL 33 MONTH);

SELECT DATE_SUB('2019-02-10 10:15:20.000010', INTERVAL 12 QUARTER);

SELECT DATE_SUB('2019-02-10 10:15:20.000010', INTERVAL 16 YEAR);
Date sub Example 3

MySQL DATE_SUB 函数示例 4

在这里,首先我们减去了 16 年和 14 个月。第二个语句减去了 31 天、18 小时和 25 分钟。第三个语句从给定的 DateTime 中移除了 22 小时和 40 分钟。

SELECT DATE_SUB('2019-02-10 10:15:20', INTERVAL '16-14' YEAR_MONTH);

SELECT DATE_SUB('2019-02-10 10:15:20', INTERVAL '31 18:25' DAY_MINUTE);

SELECT DATE_SUB('2019-02-10 10:15:20', INTERVAL '22:40' HOUR_MINUTE);
DATE_SUB Function 4