Re: AT TIME ZONE and interval arguments
От | Albe Laurenz |
---|---|
Тема | Re: AT TIME ZONE and interval arguments |
Дата | |
Msg-id | A737B7A37273E048B164557ADEF4A58B057AD9C1@ntex2010a.host.magwien.gv.at обсуждение исходный текст |
Ответ на | AT TIME ZONE and interval arguments (Craig Ringer <craig@2ndquadrant.com>) |
Список | pgsql-general |
Craig Ringer wrote: > I'm mildly thrown by this: > > regress=> SELECT TIME '04:00' AT TIME ZONE '01:00'; > timezone > ------------- > 19:00:00-01 > (1 row) > > regress=> SELECT TIME '04:00' AT TIME ZONE (INTERVAL '01:00'); > timezone > ------------- > 21:00:00+01 > (1 row) > > regress=> SELECT TIME '04:00' AT TIME ZONE (TEXT '01:00'); > timezone > ------------- > 19:00:00-01 > (1 row) > > > and was wondering if anyone knows why the sense of the offset is > reversed for typed intervals vs bare literal or text. Is this another > one of the issues caused by the various standards' disagreements about + > vs - time offsets? The function that implements the "text" case has this comment: /* timestamp_zone() * Encode timestamp type with specified time zone. * This function is just timestamp2timestamptz() except instead of * shifting to the global timezone, we shift to the specified timezone. * This is different from the other AT TIME ZONE cases because instead * of shifting to a _to_ a new time zone, it sets the time to _be_ the * specified timezone. */ The comment was introduced in commits 5ddeffb676e6bb64b82fc98576f3fe54f8671527 and 3dbbbbf8e98329e1eea9920436defc64af3594d3, there is a discussion on -patches: http://www.postgresql.org/message-id/slrnde2134.2k2r.andrew+nonews@trinity.supernews.net I can't say if that's correct though. Yours, Laurenz Albe
В списке pgsql-general по дате отправления: