TIIMEまたはTIME WITH TIME ZONEを、オプションのデータ属性を使用してTIMEまたはTIME WITH TIME ZONEに変換します。
CAST構文
CAST ( time_expression AS TIME [ ( fractional_seconds_precision ) ] [ WITH TIME ZONE ] [ AT { LOCAL | SOURCE [ TIME ZONE ] | [ TIME ZONE ] { expression | time_zone_string } } ] [ data_attribute [...] ] )
- time_expression
変換するTIME式。
- fractional_seconds_precision
SECONDフィールドの小数部の有効桁数を表わす1桁の数字。有効な範囲は、0から6です。デフォルトは6です。
- AT LOCAL
現行セッションのタイムゾーンに基づくタイムゾーン変位を使用します。
- AT SOURCE [TIME ZONE]
- 次の場合に、timestamp_expressionに付随するタイムゾーンを使用します。
- AT SOURCE TIME ZONEが指定されます。
- AT SOURCEがTIME ZONEなしで指定され、範囲にsourceという名前の列がない場合。
その他の場合、AT SOURCEがTIME ZONEなしで指定され、sourceという列が存在する場合、SOURCEではこの列を参照し、その列の値がCASTのタイムゾーン変位として使用されます。必要な場合、 列値がタイプINTERVAL HOUR(2) TO MINUTEに暗黙的に変換されます。
- AT [TIME ZONE] expression
expressionで定義されているタイムゾーン変位を使用します。
expressionのデータ型はINTERVAL HOUR(2) TO MINUTEか、暗黙的にINTERVAL HOUR(2) TO MINUTEに変換できるデータ型でなければなりません。
- AT [TIME ZONE] time_zone_string
- time_zone_stringはタイムゾーン変位を決定します。
- data_attribute
- 以下のデータ属性のうちのいずれか1つ。
- FORMAT
- NAMED
- TITLE
ANSIの拡張として、CASTでは、日時データの代替出力の書式化を可能にするために、FORMAT句を使用することができます。
AT句は、ANSI SQL:2011に準拠しています。
ANSIを拡張したことで、CASTを使用したTIME (タイムゾーンの有無は関係なし)のTIME WITH TIME ZONEへの変換に、AT句がサポートされるようになりました。また、INTERVAL式の他にも追加の式を使用して、タイムゾーン変位を指定することができます。
TIME(タイムゾーンなし)は、ANSI SQL:2011準拠ではありません。Teradata Databaseは、現行セッションのタイムゾーン、または指定されたタイムゾーンに基づいて、TIME値を内部的にUTCに変換します。