INTERVAL в PostgreSQL: работа с интервалами времени

Тип данных INTERVAL в PostgreSQL предназначен для хранения и обработки промежутков времени. Интервалы применяются для выполнения операций с датами и временем, таких как сложение и вычитание.

Синтаксис типа INTERVAL

Стандартное определение интервала выглядит так:

INTERVAL 'значение интервала'

Примеры использования INTERVAL

Пример простого добавления интервала к дате

Добавление интервала к текущей дате:

SELECT NOW() + INTERVAL '2 days' AS new_date;

Этот запрос вернёт дату, отстоящую на два дня вперёд от текущей.

Вычитание интервалов из дат

Вычитание интервала:

SELECT NOW() - INTERVAL '3 hours' AS new_time;

Результатом выполнения будет время, уменьшенное на три часа относительно текущего момента.

Использование INTERVAL с различными единицами

PostgreSQL поддерживает интервалы различных единиц времени:

SELECT INTERVAL '1 year 2 months 3 days 4 hours 5 minutes 6 seconds';

Этот интервал может использоваться в любых операциях с датами и временем.

Арифметические операции с INTERVAL

Интервалы можно складывать, вычитать и умножать на числа:

SELECT INTERVAL '1 day' + INTERVAL '2 hours' AS combined_interval;
SELECT INTERVAL '1 hour' * 3 AS multiplied_interval;

Использование INTERVAL в запросах

Пример выборки данных за последний месяц:

SELECT * FROM orders
WHERE order_date > NOW() - INTERVAL '1 month';

Запрос возвращает записи за последний месяц от текущей даты.