Đâ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 zone
vàtimestamp with time zone
nê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.