タイムゾーンは、同一タイムゾーンを使用して年代順に順序付けされます。
例
TIMESTAMP(0) WITH TIME ZONE型の列が含まれるテーブルに対して、配列が指定されたSELECT文を使用した次の例を考えてみてください。
これらのORDER BY SELECTで示された同じ順番がすべてのタイムゾーン比較操作に適用されます。
SELECT f1 TIMESTAMPFIELD FROM timestwz ORDER BY f1;
この文は、次の結果テーブルを戻します。
TIMESTAMPFIELD ------------------------- 1997-10-07 15:43:00+08:00 1997-10-07 15:43:00-00:00 1997-10-07 15:47:52-08:00
値は、格納されたタイムゾーン情報と共に表示されますが、配列がすぐに明確にならないことに注意する必要があります。
ここで、CAST関数によってタイムゾーンを標準化すると、年代順の配列が明示的に示されます。
SELECT CAST(f1 AS TIMESTAMP(0)) TIMESTAMP_NORMALIZED FROM timestwz ORDER BY f1;
この文は、次の結果テーブルを戻します。
TIMESTAMP_NORMALIZED ------------------- 1997-10-06 23:43:00 1997-10-07 07:43:00 1997-10-07 15:45:52
並びは前の問合わせと同じですが、TIMESTAMP値の表示はセッションに有効なタイムゾーン(すなわち‘-08:00’)に標準化されています。
タイムゾーンの処理を変える、すなわち地方時を反映させると、同じ年代順の並びでも表示が異なります。
SELECT f1 AT LOCAL LOCALIZED FROM timestwz ORDER BY f1;
この文は、次の結果テーブルを戻します。
LOCALIZED ------------------------- 1997-10-06 23:43:00-08:00 1997-10-07 07:43:00-08:00 1997-10-07 15:45:52-08:00