Перейти к основному содержимому

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

Случай ошибки:
select hours_sub('2022-21-01', -1);
+--------------------------------------+
| hours_sub('2022-21-01', -1) |
+--------------------------------------+
| NULL |
+--------------------------------------+