タイムゾーンのソート順序 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLの日付/時刻関数と式

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/dzx1591742169550.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1211
Product Category
Software
Teradata Vantage

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

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