Đây là hai cách để đánh giá timetz bình đẳng:
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;
Cách đầu tiên bằng cách thêm nó vào một date .
Thứ hai bằng cách sử dụng AT TIME ZONE xây dựng.
Nhưng thay vì sử dụng time with time zone hoàn toàn.
Postgres chỉ hỗ trợ kiểu này vì nó nằm trong tiêu chuẩn SQL. Nó bị hỏng do thiết kế (không thể coi là DST!) Và việc sử dụng nó không được khuyến khích.
Trích dẫn hướng dẫn sử dụng tại đây:
Loại
time with time zoneđược định nghĩa bởi tiêu chuẩn SQL, nhưng định nghĩa thể hiện các thuộc tính dẫn đến tính hữu dụng đáng ngờ. Trong hầu hết các trường hợp, sự kết hợp củadate,time,timestamp without time zonevàtimestamp with time zonenên cung cấp đầy đủ chức năng cập nhật / thời gian theo yêu cầu của bất kỳ ứng dụng nào.