タイムゾーンの単純式を指定する場合のルールと制限 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage
タイムゾーン値として単純式を指定する場合、以下のルールと制限が適用されます。
  • 定数の単純式を指定する必要があります。定数でないと、Teradata Databaseはリクエストをアボートし、リクエスト側にエラーを返します。
  • 現在のセッションのタイムゾーンは、タイムゾーン変位またはタイムゾーン文字列のどちらかになります。
    現在のセッションのタイムゾーン Teradata Databaseの動作
    タイムゾーン変位 そのタイムゾーン変位を使用します。
    タイムゾーン文字列 指定されたタイムゾーン文字列とソース式のUTC TIMESTAMP値に基づいて、タイムゾーン変位を判別します。

    有効なタイムゾーン文字列の全一覧については、夏時間とタイムゾーン文字列として指定されたタイムゾーン文字列を参照してください。

  • Teradata Databaseは指定された式を必要に応じ、許可される場合に、以下の表に定義されているように、データ型に応じてタイムゾーン変位またはタイムゾーン文字列に暗黙的に変換します。
    式のデータ型 暗黙的変換
    BIGINT
BYTEINT
INTEGER
SMALLINT CAST(CAST (expression AS INTERVAL HOUR(2)) AS INTERVAL HOUR(2) TO MINUTE
    DECIMAL
NUMERIC

    (位取り = 0)

    CAST(CAST (expression AS INTERVAL HOUR(2)) AS INTERVAL HOUR(2) TO MINUTE
    DECIMAL
NUMERIC

    (位取り > 0)

    CAST(CAST((expression)*60 AS INTERVAL MINUTE(4)) AS INTERVAL HOUR(2) TO MINUTE)
    INTERVAL HOUR(2) TO MINUTE 変換なし
    INTERVAL HOUR(n) TO MINUTE(nは¼ 2) CAST(expression) AS INTERVAL HOUR(2) TO MINUTE)
    INTERVAL HOUR
INTERVAL DAY

    指定したINTERVAL DAY値が、INTERVAL '0' DAYおよびINTERVAL -'0' DAYのいずれでもない場合、この値はタイムゾーン変位としては大きくなりすぎるため、やがて失敗します。

INTERVAL DAY TO HOUR
INTERVAL DAY TO MINUTE
INTERVAL DAY TO SECOND
INTERVAL HOUR
INTERVAL HOUR TO SECOND
INTERVAL MINUTE
INTERVAL MINUTE TO SECOND
INTERVAL SECOND

    CAST(expression) AS INTERVAL HOUR(2) TO MINUTE)
    CHARACTER (CHARACTER SET UNICODEの指定あり) CAST(CAST(se AS INTERVAL HOUR(2)) AS INTERVAL HOUR(2) TO MINUTE)を試みます。

    キャストのエラーが発生した場合は、CAST(expression AS INTERVAL HOUR(2) TO MINUTE)を試みます。

    それでもexpressionをキャストできない場合、Teradata Databaseは文字値をタイム ゾーン文字列として扱います。

    CHARACTER(CHARACTER SET ¼ UNICODEの指定あり) TRANSLATE(expression USING source_repertoire_name_TO_Unicode)

    (source_repertoire_nameはexpressionのサーバー文字セット)

    変換後の値でエラーが発生した場合、その値は、前の行(CHARACTER SET UNICODEが指定された文字値)の場合のように処理されます(expressionをexpressionの変換に置換)。

    その他 Teradata Databaseはリクエストをアボートし、リクエスト側にエラーを返します。
  • 最初にTIME ZONEを指定しない単純式の指定は有効な構文であり、TIME ZONE simple_expressionを指定した場合と同じ効果があります。