Zde jsou dva způsoby, jak vyhodnotit timetz
rovnost:
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;
První přidáním k date
.
Druhý pomocí AT TIME ZONE
konstrukce.
Ale raději nepoužívejte time with time zone
vůbec.
Postgres podporuje typ pouze proto, že je ve standardu SQL. Je nefunkční svým designem (nemůže uvažovat DST!) a jeho použití se nedoporučuje.
Zde cituji manuál:
Typ
time with time zone
je definováno standardem SQL, ale definice vykazuje vlastnosti, které vedou k pochybné užitečnosti. Ve většině případů kombinacedate
,time
,timestamp without time zone
atimestamp with time zone
by měl poskytovat kompletní rozsah funkcí data/času požadovaných jakoukoli aplikací.