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

hours_sub

将指定日期和时间减去指定的时数。

语法

DATETIME hours_sub(DATETIME|DATE date, INT hours);

参数

  • date:它必须是有效的 DATE 或 DATETIME 表达式。

  • hours:减少的小时数。 支持的数据类型为 INT。

返回值

返回 DATETIME 值。 如果日期不存在,例如 2022-21-01,或者日期不是 DATE 或 DATETIME 值,则返回 NULL。

示例

select hours_sub('2022-01-01 01:01:01', 1);
+-------------------------------------+
| hours_sub('2022-01-01 01:01:01', 1) |
+-------------------------------------+
| 2022-01-01 00:01:01 |
+-------------------------------------+

select hours_sub('2022-01-01 01:01:01', -1);
+--------------------------------------+
| hours_sub('2022-01-01 01:01:01', -1) |
+--------------------------------------+
| 2022-01-01 02:01:01 |
+--------------------------------------+

select hours_sub('2022-01-01', 1);
+----------------------------+
| hours_sub('2022-01-01', 1) |
+----------------------------+
| 2021-12-31 23:00:00 |
+----------------------------+

select hours_sub('2022-01-01', -1);
+-----------------------------+
| hours_sub('2022-01-01', -1) |
+-----------------------------+
| 2022-01-01 01:00:00 |
+-----------------------------+

Error case:
select hours_sub('2022-21-01', -1);
+--------------------------------------+
| hours_sub('2022-21-01', -1) |
+--------------------------------------+
| NULL |
+--------------------------------------+