В PostgreSQL есть типы данных для работы с датами: date, timestamp with time zone, timestamp without time zone. И есть тип данных, представляющий собой интервал interval. Их можно складывать и вычитать.
1 2 3 |
select now() + interval '1 day' select now() - interval '1 hour' select now() + interval '1 day 30 minute' |
Вместо day, hour и minue в interval могут стоять: microsecond, millisecond, second, minute, hour, day, week, month, year, decade, century, millennium.
Если нужно прибавить, например, количество дней вычисленное на основе выражения, а не просто константу, то:
1 |
select now() + (3 * 2 - 1 ) * interval '1 day' |
Ссылки:
http://www.postgresql.org/docs/9.4/static/functions-datetime.html — Функции для работы с датой и временем.
http://www.postgresql.org/docs/9.4/static/datatype-datetime.html — Описание типов данных для работы с датой и временем.