From: | Joshua Moore-Oliva <josh(at)chatgris(dot)com>(by way of Joshua Moore-Oliva <josh(at)chatgris(dot)com>) |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Bug in AT TIME ZONE contruct between EST and INTERVAL '-05:00' (resubmit now that I am a member of this list) |
Date: | 2003-03-14 03:12:55 |
Message-ID: | 200303132212.55471.josh@chatgris.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
When selecting with the AT TIME ZONE or timezone function, the returned value
is not always a timestamp. This is inconsistent with the documentation.
To reproduce this problem, run these two queries.
SELECT now() AT TIME ZONE 'EST'
returns 2003-03-13 21:27:14.63401-05
SELECT now() AT TIME ZONE INTERVAL '-05:00'
returns 1167 days 21:54:30.952135995
(Queries were run at different time, the problem is that it is returning an
interval instead of a timestamp).
When I attempt to cast the interval as a timestamp it gives me an error
saying that it's not possible.
I am pretty sure this is a bug. Following is supoprting dpcumentation from
the manual.
From the documentation
In these expressions, the desired time zone can be specified either as a text
string (e.g., 'PST') or as an interval (e.g., INTERVAL '-08:00').
Examples (supposing that TimeZone is PST8PDT):
SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST';
Result: 2001-02-16 19:38:40-08
SELECT TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-05' AT TIME ZONE 'MST';
Result: 2001-02-16 18:38:40
The first example takes a zone-less timestamp and interprets it as MST time
(GMT-7) to produce a UTC timestamp, which is then rotated to PST (GMT-8) for
display. The second example takes a timestamp specified in EST (GMT-5) and
converts it to local time in MST (GMT-7).
The function timezone(zone, timestamp) is equivalent to the SQL-compliant
construct timestamp AT TIME ZONE zone.
Josh.
From | Date | Subject | |
---|---|---|---|
Next Message | Joshua Moore-Oliva | 2003-03-14 04:33:33 | Re: Bug in AT TIME ZONE contruct between EST and INTERVAL '-05:00' (resubmit now that I am a member of this list) More info |
Previous Message | Joshua Moore-Oliva | 2003-03-14 03:08:44 | Bug in AT TIME ZONE contruct between EST and INTERVAL '-05:00' |