Aqui estão duas maneiras de avaliar
timetz
igualdade: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;
O primeiro adicionando-o a uma
date
.O segundo usando o
AT TIME ZONE
construir. Mas não use
time with time zone
em tudo.O Postgres suporta o tipo apenas porque está no padrão SQL. Ele está quebrado por design (não pode considerar o horário de verão!) e seu uso é desencorajado.
Citando o manual aqui:
O tipotime with time zone
é definido pelo padrão SQL, mas a definição exibe propriedades que levam a uma utilidade questionável. Na maioria dos casos, uma combinação dedate
,time
,timestamp without time zone
etimestamp with time zone
deve fornecer uma gama completa de funcionalidades de data/hora exigidas por qualquer aplicativo.