web-dev-qa-db-fra.com

Équivalent DATEADD dans PostgreSQL

Existe-t-il un équivalent à cette commande T-SQL dans PostgreSQL?

select dateadd(hh,duration_in_hours,start_date) as end_date

Je n'ai trouvé que le mot clé interval avec la chaîne suivante, mais cette terrible construction renvoie une erreur de syntaxe:

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

Il n'autorise que la chaîne constante après le mot clé "intervalle". Je suis sûr qu'il doit y avoir une fonction similaire dans pgsql, mais je ne la trouve pas.

11
Hink

Vous pouvez le faire comme ceci:

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

Voir ceci exemple SQL Fiddle

15
jpw