On Mon, Dec 01, 2003 at 09:09:20PM -0800, Bob Smith wrote: > I'm getting an unexpected result using intervals in an expression: > > select ('2003-10-26 0:00:00'::timestamp + '1 day'::interval)::date; > date > ------------ > 2003-10-26 > (1 row)
Try using '2003-10-26 0:00:00'::date + 1; integers do not lie ;-) > When I get rid of the date cast it becomes clear what is happening: > > select '2003-10-26 0:00:00'::timestamp + '1 day'::interval; > ?column? > ------------------------ > 2003-10-26 23:00:00-08 > (1 row) > > Is this a Postgres bug, or is this correct SQL behavior? I'm running > Postgres 7.2.2. It has been discussed several times, Tom Lane offered to add 'day' as a separate interval unit (like 'second' and 'month' at this moment), but noone took a shot at it, AFAIK. Note also, that in 7.3 "timestamp" means "timestamp without time zone", while in 7.2 it's "timestamp with time zone". -- Fduch M. Pravking ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html