DATEADD эквивалент в PostgreSQL

Есть ли эквивалент в этой команде T-SQL в PostgreSQL?

select dateadd(hh,duration_in_hours,start_date) as end_date

Я нашел только ключевое слово интервал с последующей строкой, но эта ужасная конструкция возвращает синтаксическую ошибку:

select start_date + interval cast(duration_in_hours as varchar) || ' hours'

Он допускает только строковую константу после ключевого слова "interval ". Я уверен, что в pgsql должна быть какая-то похожая функция, но я не могу ее найти.

1 ответ

Решение

Вы можете сделать это так:

select start_date + (duration_in_hours * interval '1 hour') from your_table

Посмотрите этот пример SQL Fiddle

У Postgres нет date_add функция или любой другой эквивалент - способ манипулировать датами с помощью + оператор с interval значение, как вы упомянули.

Другие вопросы по тегам