timetz
を評価する2つの方法があります 平等:
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;
1つ目はdate
に追加することです 。AT TIME ZONE
を使用した2番目 構築します。
ただし、time with time zone
は使用しないでください
Postgresは、SQL標準に含まれているため、このタイプのみをサポートします。設計上壊れており(DSTを考慮できません!)、使用はお勧めしません。
ここでマニュアルを引用する:
タイプ
time with time zone
はSQL標準で定義されていますが、定義には疑わしい有用性につながるプロパティが示されています。ほとんどの場合、date
の組み合わせ 、time
、timestamp without time zone
、およびtimestamp with time zone
アプリケーションに必要な日付/時刻機能の完全な範囲を提供する必要があります。