date_time_primaryがTIMEまたはTIMESTAMP値と評価される場合、あるいはビルトイン関数CURRENT_DATEまたはDATEの場合に限り、date_time_primary内にAT LOCALまたはAT [TIME ZONE]句を含めることができます。
効果は、date_time_termを指定されたタイムゾーン変位に合わせて調整することです。
AT [TIME ZONE]句でタイムゾーン変位を指定するexpressionは(必要なときに可能であれば)、次に示す表で定義されたデータ型に応じて、タイムゾーン変位またはタイムゾーン文字列に暗黙的に変換されます。
expressionのデータ型 | 暗黙の変換 |
---|---|
INTERVAL HOUR(n) TO MINUTE nは2以外 |
CAST(expression AS INTERVAL HOUR(2) TO MINUTE) |
|
CAST(expression AS INTERVAL HOUR(2) TO MINUTE) |
|
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) |
CHARACTER SET UNICODEを使用する文字 | CAST(CAST(expression AS INTERVAL HOUR(2)) AS INTERVAL HOUR(2) TO MINUTE) 上記のCAST文でエラーが発生した場合、Teradata Databaseは次の文を試行します。 CAST(expression AS INTERVAL HOUR(2) TO MINUTE) このCAST文でもエラーが発生した場合、Teradata Databaseは文字の値をタイムゾーン文字列として処理します。 |
CHARACTER SET UNICODEではない文字 | TRANSLATE(expression USING source_repertoire_name_TO_Unicode) source_repertoire_nameはexpressionのサーバー文字セットです。コード変換された値は、上記のCHARACTER SET UNICODEを使用した文字値に対する処理が実行されます。 |
その他 | エラーが返されます。 |
INTERVAL HOUR(2) TO MINUTEへの変換結果が、INTERVAL -'12:59' HOUR TO MINUTEと、INTERVAL '14:00' HOUR TO MINUTEの間に収まらない値になると、エラーが返されます。
- 独自の夏時間(DST)と、協定世界時(UTC時間)からの標準タイムゾーン変位に対応しない、タイムゾーン文字列。
- 独自のDSTと、UTC時間からの標準タイムゾーン変位に対応する、タイムゾーン文字列。
サポートされているタイムゾーン文字列を次に示します。
独自のDSTと標準タイムゾーン変位に対応しない文字列 | ||
---|---|---|
|
|
|
独自のDSTと標準タイムゾーン変位に対応する文字列 | ||
---|---|---|
|
|
|
Teradata Databaseは、このタイムゾーン文字列を解決して、セッションまたは要求された問合わせに対するタイムゾーン変位を計算します。
Teradata Databaseは、システムUDF(ユーザー定義関数)のGetTimeZoneDisplacementに格納されたルールとタイムゾーン変位の情報に基づいて、タイムゾーン文字列を解決します。
Teradataが提供するタイムゾーン文字列では要件を満たせないときには、新しいタイムゾーン文字列を追加するか、既存のタイムゾーン文字列に変更を加えてください。そのためには、GetTimeZoneDisplacement UDFに変更を加えるか、新しいルールを追加することになります。
- 以下のビルトイン関数を使用する場合。
- “CURRENT_DATE”
- “CURRENT_TIME”
- “CURRENT_TIMESTAMP”
- “DATE”
- “TIME”これらのビルトイン関数をAT LOCAL句に指定すると、DBS制御フラグTimeDateWZControlの設定に応じて返される値が変化します。
- CAST関数またはTeradata変換構文を使用して、日時データ型を変換する場合。ソース タイムゾーン、特定のタイムゾーン変位やタイムゾーン文字列、または現在のセッションのタイムゾーンとして、CASTや変換に使用するタイムゾーンを指定できます。
- フィールドの抽出前に、ソースの式のタイムゾーンを指定するために、EXTRACT関数を使用する場合。