Операции со временем

ОПЕРАЦИИ СО ВРЕМЕНЕМ

Если нам нужно прибавить к дате временной промежуток, мы можем использовать оператор INTERVAL

select '2021-02-16'::date + interval '5 day' as result

Результат: 2021-02-21.

Вместо DAY, мы можем написать другую единицу времени, например, YEAR или MONTH.

Если мы хотим задавать количество времени гибким образом, например, с помощью колонки, мы можем сделать так: давайте представим, что нам необходимо прибавить к дате '2021-02-16' колонку с динамическими целочисленными значениями. Мы можем это сделать, преобразовав эту колонку в интервал. Для этого нужно умножить целочисленное значение столбца на интервал, равный 1, и прописать тип временного отрезка (DAY, MONTH, YEAR и т.д.).

Представим, что значение в колонке равно 12:

select '2021-02-16'::date + 12 * interval '1 day'

Результат:  2021-02-28 00:00.

Таким образом, для колонки число 12 будет динамическим в зависимости от значения в строке. И мы в итоге прибавим ко времени динамическое значение столбца с нужным временным отрезком.