MySQL SUBDATE 函数

MySQL SUBDATE 是常用的日期函数之一,它是 DATE_SUB 的同义词。这个 SUBDATE 函数用于从给定的日期中减去用户指定的间隔,并返回日期和时间。

SUBDATE 函数的基本语法如下所示。

SUBDATE(Date, INTERVAL expression Unit);

SUBDATE(Date expression, days);

MySQL SUBDATE 函数示例

下面给出的查询将帮助您理解此方法的使用。在这里,我们将从给定的 DateTime 表达式中减去 8 微秒、8 秒和 8 分钟。

提示:我建议您参考 日期函数 文章,以了解 MySQL 中 Interval 后面的单位。

SELECT SUBDATE('2016-05-19 11:14:34.0000010', INTERVAL 8 MICROSECOND);

SELECT SUBDATE('2016-05-19 11:14:34.0000010', INTERVAL 8 SECOND);

SELECT SUBDATE('2016-05-19 11:14:34.0000010', INTERVAL 8 MINUTE);
SUBTRACT DATES Example 1

在此示例中,我们从给定的 DateTime 表达式中减去 8 小时和 6 天。在第三个语句中,我们没有使用 Interval。这意味着我们使用了 subdate 函数的第二种语法。

SELECT SUBDATE('2019-02-09 11:14:34', INTERVAL 8 HOUR);

SELECT SUBDATE('2019-02-09 11:14:34', INTERVAL 6 DAY);

SELECT SUBDATE('2019-02-09 11:14:34', 6);
SUBDATE Example 2

在这个 MySQL SUBDATE 函数示例中,我们从给定的 DateTime 表达式中减去 6 周、6 个月和 2 个季度。

SELECT SUBDATE('2019-02-09 11:14:34', INTERVAL 6 WEEK);

SELECT SUBDATE('2019-02-09 11:14:34', INTERVAL 6 MONTH);

SELECT SUBDATE('2019-02-09 11:14:34', INTERVAL 2 QUARTER);
SUBDATE Example 3

这里,

  • 首先,减去 4 年。
  • 第二个语句 - 从给定的日期中减去了 5 天和 8 小时。
  • 在第三个语句中,我们减去了 3 年和 8 个月。参考 DATE_SUB
SELECT SUBDATE('2019-02-09 11:14:34', INTERVAL 4 YEAR);

SELECT SUBDATE('2019-02-09 11:14:34', INTERVAL '05 08' DAY_HOUR);

SELECT SUBDATE('2019-02-09', INTERVAL '03-08' YEAR_MONTH);