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 |
+--------------------------------------+