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)
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)
I assumed '1 day' would always increment the date by 1, but it appears
that '1 day' just means '24 hours', and due to the daylight/standard
time shift, October 26 was 25 hours long this year.
Is this a Postgres bug, or is this correct SQL behavior? I'm running
Postgres 7.2.2.
Bob S.