タイムゾーン値として単純式を指定する場合、以下のルールと制限が適用されます。
- 定数の単純式を指定する必要があります。定数でないと、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を指定した場合と同じ効果があります。