DATEADD equivalent in PostgreSQL

Hink picture Hink · Nov 22, 2014 · Viewed 50.4k times · Source

Is there an equivalent to this T-SQL command in PostgreSQL?

select dateadd(hh,duration_in_hours,start_date) as end_date

I have found only interval keyword with subsequent string, but this terrible construction returns syntax error:

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

It allows only string constant after "interval " keyword. I am sure there must be some similar function in pgsql, but I cannot find it.

Answer

jpw picture jpw · Nov 22, 2014

You can do it like this:

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

See this sample SQL Fiddle