メインコンテンツまでスキップ

hours_sub

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