Ето два начина за оценка на timetz
равенство:
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;
Първият, като го добавите към date
.
Вторият с помощта на AT TIME ZONE
конструкция.
Но по-скоро не използвайте time with time zone
изобщо.
Postgres поддържа типа само защото е в SQL стандарта. Той е счупен по дизайн (не може да се вземе предвид DST!) и използването му е обезкуражено.
Цитирайки ръководството тук:
Типът
time with time zone
се дефинира от стандарта SQL, но дефиницията показва свойства, които водят до съмнителна полезност. В повечето случаи комбинация отdate
,time
,timestamp without time zone
иtimestamp with time zone
трябва да предоставя пълен набор от функции за дата/час, изисквани от всяко приложение.