17.10 - 例 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1143-171K-JPN
Language
日本語 (日本)

タイムゾーン変位INTERVAL '09:00' HOUR TO MINUTEでの現在の日付がDATE '2008-05-14'で、タイムゾーン変位INTERVAL '04:00' HOUR TO MINUTEでの現在の日付はDATE '2008-05-13'だと仮定します。次のSELECT文は、次の結果を返します。TIMESTAMP '2008-05-13 08:30:00+04:00'

SET TIME ZONE INTERVAL '09:00' HOUR TO MINUTE;
SELECT CAST(TIME '08:30:00+04:00' AS TIMESTAMP(0) WITH TIME ZONE 
   AT SOURCE);

文字列定数のタイムゾーン変位INTERVAL '04:00' HOUR TO MINUTEを使用して、UTC値'04:30:00'と、その文字列定数のタイムゾーン変位INTERVAL '04:00' HOUR TO MINUTEが決定されます。CASTの場合は、ソースの式値'04:30:00' (UTC)が、ソースの式のタイムゾーン変位INTERVAL '04:00' HOUR TO MINUTEに調整されて、'08:30:00'が導き出されます。

タイムゾーン変位INTERVAL '04:00' HOUR TO MINUTEでの現在の日付'2008-05-13'と、上記の調整後に取得したソースの式値の時間部分'08:30:00'からタイムスタンプが生成されます。タイムゾーン変位INTERVAL '04:00' HOUR TO MINUTEでの、このタイムスタンプ'2008-05-13 08:30:00'はUTCに合わせて調整されるため、CASTの結果はUTCで'2008-05-13 04:30:00'と、タイムゾーン変位INTERVAL '04:00' HOUR TO MINUTEを併せたものになります。

UTCでのCASTの結果値はタイムゾーンINTERVAL '04:00' HOUR TO MINUTEに調整されるため、SELECT文の結果は次のようになります。TIMESTAMP '13.05.08 08:30:00+04:00'現在のセッションのタイムゾーンは影響しません。