From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Steve Rogerson <steve(dot)pg(at)yewtc(dot)demon(dot)co(dot)uk> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Oddity with time zones. |
Date: | 2017-04-03 13:49:57 |
Message-ID: | 11587.1491227397@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Steve Rogerson <steve(dot)pg(at)yewtc(dot)demon(dot)co(dot)uk> writes:
> # select (now());
> now
> -------------------------------
> 2017-04-03 11:57:09.891043+01
> (1 row)
> sjr_local1db=# select (now() AT TIME ZONE 'UTC');
> timezone
> ----------------------------
> 2017-04-03 10:57:11.714571
> (1 row)
> sjr_local1db=# select (now() AT TIME ZONE 'UTC') AT TIME ZONE 'UTC';
> timezone
> -------------------------------
> 2017-04-03 11:57:14.088515+01
> (1 row)
> This makes no sense to me.
Looks perfectly fine from here. You're rotating a timestamp with time
zone (displayed in your local zone, evidently GMT+1) to a timestamp
without time zone expressed in UTC, and then back to a timestamp with time
zone. That round trip should be a no-op, barring weird corner cases.
I'd be the first to agree that the notation is pretty opaque --- why
use the same "operator" for both transformation directions? --- but
don't blame us, blame the SQL spec.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2017-04-03 13:51:00 | Re: My humble tribute to psql -- usql v0.5.0 |
Previous Message | Kyotaro HORIGUCHI | 2017-04-03 11:51:18 | Re: Unexpected interval comparison |