Aquí hay dos formas de evaluar timetz
igualdad:
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;
El primero agregándolo a una date
.
La segunda mediante el AT TIME ZONE
construir.
Pero mejor no uses time with time zone
en absoluto.
Postgres admite el tipo solo porque está en el estándar SQL. Está roto por diseño (¡no se puede considerar DST!) y se desaconseja su uso.
Citando el manual aquí:
El tipo time with time zone
está definido por el estándar SQL, pero la definición exhibe propiedades que conducen a una utilidad cuestionable. En la mayoría de los casos, una combinación de date
, time
, timestamp without time zone
y timestamp with time zone
debe proporcionar una gama completa de funciones de fecha/hora requeridas por cualquier aplicación.