跳到主要内容
版本: 最新版本-3.5

date_sub,subdate

从日期中减去指定的时间间隔。

语法

DATETIME DATE_SUB(DATETIME|DATE date,INTERVAL expr type)

参数

  • date:必须是有效的 DATE 或 DATETIME 表达式。
  • expr:要减去的时间间隔。 它必须是 INT 类型。
  • type:时间间隔的单位。 它只能设置为以下值中的任何一个:YEAR、QUARTER、MONTH、DAY、HOUR、MINUTE、SECOND、MILLISECOND (自 3.1.7 起) 和 MICROSECOND (自 3.1.7 起)。

返回值

返回 DATETIME 值。 如果日期不存在,例如,2020-02-30,或者如果日期不是 DATE 或 DATETIME 值,则返回 NULL。

示例

select date_sub('2010-11-30 23:59:59', INTERVAL 2 DAY);
+-------------------------------------------------+
| date_sub('2010-11-30 23:59:59', INTERVAL 2 DAY) |
+-------------------------------------------------+
| 2010-11-28 23:59:59 |
+-------------------------------------------------+

select date_sub('2010-11-30', INTERVAL 2 hour);
+-----------------------------------------+
| date_sub('2010-11-30', INTERVAL 2 HOUR) |
+-----------------------------------------+
| 2010-11-29 22:00:00 |
+-----------------------------------------+

select date_sub('2010-02-30', INTERVAL 2 DAY);
+----------------------------------------+
| date_sub('2010-02-30', INTERVAL 2 DAY) |
+----------------------------------------+
| NULL |
+----------------------------------------+

select date_sub('2010-11-30 23:59:59', INTERVAL 2 QUARTER);
+-----------------------------------------------------+
| date_sub('2010-11-30 23:59:59', INTERVAL 2 QUARTER) |
+-----------------------------------------------------+
| 2010-05-30 23:59:59 |
+-----------------------------------------------------+

select subdate('2010-11-30 23:59:59', INTERVAL 2 millisecond);
+--------------------------------------------------------+
| subdate('2010-11-30 23:59:59', INTERVAL 2 MILLISECOND) |
+--------------------------------------------------------+
| 2010-11-30 23:59:58.998000 |
+--------------------------------------------------------+

select date_sub('2010-11-30 23:59:59', INTERVAL 2 microsecond);
+---------------------------------------------------------+
| date_sub('2010-11-30 23:59:59', INTERVAL 2 MICROSECOND) |
+---------------------------------------------------------+
| 2010-11-30 23:59:58.999998 |
+---------------------------------------------------------+