Oto dwa sposoby oceny timetz
równość:
SELECT a, b, a = b AS plain_equality
, '2000-1-1'::date + a = '2000-1-1'::date + b AS ts_equality
, a AT TIME ZONE 'UTC', b AT TIME ZONE 'UTC' AS timetz_equality
FROM (
SELECT '12:00:00 -0800'::timetz AS a
, '14:00:00 -0600'::timetz AS b
) sub;
Pierwszy przez dodanie go do date
.
Drugi przy użyciu AT TIME ZONE
konstrukcja.
Ale raczej nie używaj time with time zone
w ogóle.
Postgres obsługuje ten typ tylko dlatego, że jest w standardzie SQL. Jest zepsuty z założenia (nie można brać pod uwagę czasu letniego!) i odradza się jego stosowanie.
Cytując instrukcję tutaj:
Wpisz time with time zone
jest zdefiniowany przez standard SQL, ale definicja wykazuje właściwości, które prowadzą do wątpliwej użyteczności. W większości przypadków kombinacja date
, time
, timestamp without time zone
i timestamp with time zone
powinien zapewniać pełny zakres funkcji daty/czasu wymaganych przez dowolną aplikację.