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

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

次のSELECT文では、CASTの結果は、日付'2008-05-14'と、指定したセッションのタイムゾーン変位INTERVAL -'08:00' HOUR TO MINUTEによってUTCに調整されデフォルトの時間'00:00:00'から生成されるタイムスタンプになります。したがって、CASTの値は、'2008-05-14 08:00:00' (UTC)になります。

UTCでのCASTの結果値は現在のセッションのタイムゾーン変位INTERVAL '05:00:00' HOUR TO MINUTEに調整されるため、SELECT文の結果は次のようになります。TIMESTAMP '2008-05-14 13:00:00'

SET TIME ZONE INTERVAL '05:00' HOUR TO MINUTE;
SELECT CAST(DATE '2008-05-14' AS TIMESTAMP(0) AT -8);

次のSELECT文を考慮します。

SELECT CAST(DATE '2008-05-14' AS TIMESTAMP(0) WITH TIME ZONE AT -8);

この場合、CASTの結果はタイムスタンプになります。このタイムスタンプはソースの式値'2008-05-14'から生成され、デフォルトの時間'00:00:00'は指定されたセッションのタイムゾーン変位(INTERVAL -'08:00' HOUR TO MINUTE)によってUTCに調整されます。したがって、CASTの値は指定されたセッションのタイムゾーン変位INTERVAL -'08:00' HOUR TO MINUTEにより、UTCで'2008-05-14 08:00:00'になります。

UTCでのCASTの結果値はそのタイムゾーン変位INTERVAL -'08:00' HOUR TO MINUTEに調整されるため、SELECT文の結果は、TIMESTAMP '2008-05-14 00:00:00-08:00'になります。現在のセッションのタイムゾーンは影響しません。