16.20 - タイムゾーンのソート順序 - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL日付と時刻の関数および式

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1211-162K-JPN

タイムゾーンは、同一タイムゾーンを使用して年代順に順序付けされます。

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