16.20 - 使用上の注意 - Teradata Vantage NewSQL Engine

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

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

ターゲット データ型にタイムゾーンがないTIMESTAMP[(n)]のAT句を指定したときに、CAST関数、または各種の指定オプションに基づいたTeradata変換の結果を以下のテーブルに示します。ターゲットの精度がソースの精度より高い場合、精度を調整するために結果の末尾にゼロが追加されます。ターゲットの精度がソースの精度より低い場合、エラーが返されます。

指定内容 time_expressionのデータ型 結果
AT LOCAL TIME ZONEの有無は関係なし ソースのtime_expression (UTC)は、現在のセッションのタイムゾーンに基づくタイムゾーン変位を追加することで調整されます。ローカルのタイムスタンプ値は、上記のタイムゾーン変位でのCURRENT_DATEと、前回の調整後に取得したtime_expressionの時間部分から生成されます。結果は、このローカルのタイムスタンプ値から上記のタイムゾーン変位を引いてUTCに調整した、タイムスタンプ値になります。

これは、AT句を指定しない場合と同じ結果になります。

AT SOURCE

(SOURCEはキーワードであり、列参照ではありません)

TIME ZONEあり ソースのtime_expression (UTC)は、time_expressionのタイムゾーン変位を加えることで調整されます。ローカルのタイムスタンプ値は、CURRENT_DATE (time_expressionのタイムゾーン変位に基づく)と、前回の調整後に取得したtime_expressionの時間部分から生成されます。結果は、このローカルのタイムスタンプ値から、time_expressionのタイムゾーン変位を引いてUTCに調整されたタイムスタンプ値になります。
AT SOURCE

(SOURCEはキーワードであり、列参照ではありません)

TIME ZONEなし エラーが返されます。
AT SOURCE TIME ZONE TIME ZONEあり ソースのtime_expression (UTC)は、time_expressionのタイムゾーン変位を加えることで調整されます。ローカルのタイムスタンプ値は、CURRENT_DATE (time_expressionのタイムゾーン変位に基づく)と、前回の調整後に取得したtime_expressionの時間部分から生成されます。結果は、このローカルのタイムスタンプ値から、time_expressionのタイムゾーン変位を引いてUTCに調整されたタイムスタンプ値になります。
AT SOURCE TIME ZONE TIME ZONEなし エラーが返されます。
AT expression

または

AT TIME ZONE expression

TIME ZONEの有無は関係なし ソースのtime_expression (UTC)は、expression.で定義されたタイムゾーン変位を加えることで調整されます。

ローカルのタイムスタンプ値は、上記のタイムゾーン変位でのCURRENT_DATEと、上記の調整後に取得したtime_expressionの時間部分から生成されます。結果は、このローカルのタイムスタンプ値から上記のタイムゾーン変位を引いてUTCに調整した、タイムスタンプ値になります。

AT time_zone_string

または

AT TIME ZONE time_zone_string

TIME ZONEの有無は関係なし ソースのtime_expression (UTC)は、time_zone_stringに基づくタイムゾーン変位を加えることで調整されます。タイムゾーン変位は、time_zone_string、CURRENT_TIMESTAMP AT '00:00'、およびtime_expressionのTIME値(UTC)に基づいて決定されます。

ローカルのタイムスタンプ値は、上記のタイムゾーン変位でのCURRENT_DATEと、上記の調整後に取得したtime_expressionの時間部分から生成されます。結果は、このローカルのタイムスタンプ値から上記のタイムゾーン変位を引いてUTCに調整した、タイムスタンプ値になります。

ターゲット データ型がTIMESTAMP[(n)] WITH TIME ZONEのAT句を指定したときの、CAST関数、または各種の指定オプションに基づいたTeradata変換の結果を以下のテーブルに示します。ターゲットの精度がソースの精度より高い場合、精度を調整するために結果の末尾にゼロが追加されます。ターゲットの精度がソースの精度より低い場合、エラーが返されます。

指定内容 time_expressionのデータ型 結果
AT LOCAL TIME ZONEの有無は関係なし ソースのtime_expression (UTC)は、現在のセッションのタイムゾーンに基づくタイムゾーン変位を追加することで調整されます。ローカルのタイムスタンプ値は、上記のタイムゾーン変位でのCURRENT_DATEと、上記の調整後に取得したtime_expression の時刻部分から生成されます。この結果のタイムスタンプはUTCに調整され、CASTの結果値(UTC)は、上記のタイムゾーン変位に調整されます。

time_expressionのデータ型がタイムゾーンなしのときには、AT句を指定しない場合と同じ結果になります。

AT SOURCE

(SOURCEはキーワードであり、列参照ではありません)

TIME ZONEあり ソースのtime_expression (UTC)は、time_expressionのタイムゾーン変位を加えることで調整されます。ローカルのタイムスタンプ値は、CURRENT_DATE (time_expressionのタイムゾーン変位に基づく)と、前回の調整後に取得したtime_expressionの時間部分から生成されます。この結果のタイムスタンプはUTCに調整され、CASTの結果値(UTC)は、time_expressionのタイムゾーン変位に調整されます。
AT SOURCE

(SOURCEはキーワードであり、列参照ではありません)

TIME ZONEなし エラーが返されます。
AT SOURCE TIME ZONE TIME ZONEあり ソースのtime_expression (UTC)は、time_expressionのタイムゾーン変位を加えることで調整されます。ローカルのタイムスタンプ値は、CURRENT_DATE (time_expressionのタイムゾーン変位に基づく)と、前回の調整後に取得したtime_expressionの時間部分から生成されます。この結果のタイムスタンプはUTCに調整され、CASTの結果値(UTC)は、time_expressionのタイムゾーン変位に調整されます。
AT SOURCE TIME ZONE TIME ZONEなし エラーが返されます。
AT expression

または

AT TIME ZONE expression

TIME ZONEの有無は関係なし ソースのtime_expression (UTC)は、expression.で定義されるタイムゾーン変位を加えることで調整されます。

ローカルのタイムスタンプ値は、上記のタイムゾーン変位でのCURRENT_DATEと、上記の調整後に取得したtime_expression の時刻部分から生成されます。この結果のタイムスタンプはUTCに調整され、CASTの結果値(UTC)は、上記のタイムゾーン変位に調整されます。

AT time_zone_string

または

AT TIME ZONE time_zone_string

TIME ZONEの有無は関係なし ソースのtime_expression (UTC)は、time_zone_string.に基づくタイムゾーン変位を追加することで調整されます。タイムゾーン変位は、time_zone_string、CURRENT_TIMESTAMP AT '00:00'、およびtime_expressionのTIME値(UTC)に基づいて決定されます。

ローカルのタイムスタンプ値は、上記のタイムゾーン変位でのCURRENT_DATEと、上記の調整後に取得したtime_expression の時刻部分から生成されます。この結果のタイムスタンプはUTCに調整され、CASTの結果値(UTC)は、上記のタイムゾーン変位に調整されます。