Re: date_trun() with timezones? (was Re: TIME column manipulation/comparison hangups)

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: date_trun() with timezones? (was Re: TIME column manipulation/comparison hangups)
Дата
Msg-id 16063.1225741564@sss.pgh.pa.us
обсуждение исходный текст
Ответ на date_trun() with timezones? (was Re: TIME column manipulation/comparison hangups)  (Bill Moran <wmoran@collaborativefusion.com>)
Ответы pg_casts view (was Re: date_trun() with timezones? (was Re: TIME column ...))  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-general
Bill Moran <wmoran@collaborativefusion.com> writes:
> Not quite.  As shown in the examples, date_trunc() works fine on
> TIME WITHOUT TIME ZONE, but there's no such function for TIME WITH
> TIME ZONE.

Well, actually there's no date_trunc for time either:

regression=# \df date_trunc
                                     List of functions
   Schema   |    Name    |      Result data type       |        Argument data types
------------+------------+-----------------------------+-----------------------------------
 pg_catalog | date_trunc | interval                    | text, interval
 pg_catalog | date_trunc | timestamp with time zone    | text, timestamp with time zone
 pg_catalog | date_trunc | timestamp without time zone | text, timestamp without time zone
(3 rows)

However, the interval version of the function can capture the time case
because there's an implicit cast from time to interval:

regression=# select casttarget::regtype,castcontext,castfunc::regprocedure from pg_cast where castsource =
'time'::regtype;
       casttarget       | castcontext |                castfunc
------------------------+-------------+----------------------------------------
 interval               | i           | "interval"(time without time zone)
 time with time zone    | i           | timetz(time without time zone)
 time without time zone | i           | "time"(time without time zone,integer)
(3 rows)

There's no implicit cast from timetz to interval, which I suppose is
because it would be an information-losing transform.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Bill Moran
Дата:
Сообщение: date_trun() with timezones? (was Re: TIME column manipulation/comparison hangups)
Следующее
От: Jason Long
Дата:
Сообщение: Re: Debugging infrequent pegged out CPU usage