Тип данных 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';
Запрос возвращает записи за последний месяц от текущей даты.