例 - Teradata Database - Teradata Vantage NewSQL Engine - TIMESTAMPからDATEへの変換の例。

Teradata Vantage™ データ タイプおよびリテラル

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xnq1529717274657.ditamap
dita:ditavalPath
ja-JP/xnq1529717274657.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

単一列のテーブルに、TIMESTAMP(0) WITH TIME ZONEタイプの行が3つあります。

フィールド値を要求し、それらをDATEとしてキャストする問合わせが、その現地のタイムゾーンが-’08:00’に定義されているセッション時に実行されます。

結果として得られるテーブルは、以下のとおりです。

TimeStampWithTimeZone     CastAsDate
-------------------------------------------------
1997-10-07 15:43:00+08:00 1997-10-06
1997-10-07 15:47:52-08:00 1997-10-07
1997-10-07 15:43:00-00:00 1997-10-07

格納されたタイムゾーンと現地タイムゾーンの差は最初の行では16時間ですが、同時にTimeStamp値は15:43であり、16時間よりも少ない点に注意する必要があります。

このような結果の不一致は、TIMESTAMP(0)としてTIMESTAMP(0) WITH TIME ZONEをキャストする類似した問合わせを使用してタイムゾーン情報を省略すると、解決することができます。

この問合わせの結果のテーブルは、以下のとおりです。

TimeStampWithTimeZone     CastAsTimeStamp
-------------------------------------------------
1997-10-07 15:43:00+08:00 1997-10-06 23:43:00
1997-10-07 15:47:52-08:00 1997-10-07 15:47:52
1997-10-07 15:43:00-00:00 1997-10-07 07:43:00

CASTの後、値はすべて現地タイムゾーンで表示され、最初の行の値は16時間調整されて、日付が1日戻った遅い時間を示します。