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);

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 函数示例 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);

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);
