Для того чтобы вычесть час из текущего времени (timestamp) в PostgreSQL, мы будем использовать два подхода: один с помощью make_interval(), а другой с помощью типа данных Interval
. Здесь приведены примеры обоих подходов. Также мы рассмотрим, как вычесть часы из текущего столбца datetime(timestamp) в таблице PostgreSQL.
Вычитание часов из текущей временной метки в PostgreSQL с использованием типа данных INTERVAL:
Мы будем использовать тип данных INTERVAL для вычитания часов из текущего времени в PostgreSQL. Когда мы вычитаем часы из текущего времени (временной метки), используя тип данных INTERVAL, вывод будет в формате datetime(timestamp). В приведенном ниже примере мы вычли 1 час из текущего времени с использованием типа данных Interval.
Пример 1 с использованием CURRENT_TIMESTAMP:
SELECT CURRENT_TIMESTAMP::timestamp - INTERVAL '1 hours' AS new_datetime
Результат:

Пример 2 с использованием NOW():
SELECT NOW()::timestamp - INTERVAL '1 hours' AS new_datetime
Результат:

Вычитание часов из времени в дате в PostgreSQL с помощью функции make_interval():
Мы будем использовать функцию make_interval() для вычитания часов из времени в PostgreSQL. Когда мы вычитаем часы из datetime с помощью функции make_interval(), вывод будет в текущем формате datetime(timestamp). В приведенном ниже примере мы вычли 1 час из временной метки
Пример 1 с использованием CURRENT_TIMESTAMP:
SELECT CURRENT_TIMESTAMP::timestamp - make_interval(hours => 1) as new_datetime
Результат:

Пример 2 с использованием NOW():
SELECT NOW()::timestamp - make_interval(hours => 1) as new_datetime
Результат:

Вычитание часов из текущего столбца datetime(timestamp) в таблице PostgreSQL с использованием типа данных Interval:
Для примера мы будем использовать таблицу fruits, чтобы показать, как вычесть часы из текущего столбца datetime(timestamp) в таблице PostgreSQL.
fruits:

Мы вычли 2 часа из столбца datetime, используя тип данных INTERVAL в PostgreSQL, и создается новый столбец с именем new_date, как показано ниже.
Пример 1: использование функции NOW()
select *,NOW()::timestamp as current_dt, NOW()::timestamp - INTERVAL '2 HOURS' as new_date from fruits
ИЛИ
Пример 2: использование CURRENT_TIMESTAMP
select *,CURRENT_TIMESTAMP::timestamp as current_dt, CURRENT_TIMESTAMP::timestamp - INTERVAL '2 HOURS' as new_date from fruits
Результат:

Вычитание часов из столбца datetime в таблице PostgreSQL с помощью функции make_interval():
Мы вычли 2 часа из столбца datetime с помощью функции make_interval() в PostgreSQL и создали новый столбец с именем new_date, как показано ниже.
Пример 1: использование функции NOW()
select *,NOW()::timestamp as current_dt, NOW()::timestamp - make_interval(hours => 2) as new_date from fruits
ИЛИ
Пример 2: использование CURRENT_TIMESTAMP
select *,CURRENT_TIMESTAMP::timestamp as current_dt, CURRENT_TIMESTAMP::timestamp - make_interval(hours => 2) as new_date from fruits
Результат:
