ANSI準拠
この文は、ANSI SQL:2011に準拠しています。
ANSIを拡張したことで、代替書式を可能にするFORMATなどのDATEデータ属性句をCASTで使用できます。
AT句は、ANSI SQL:2011に準拠しています。
ANSIを拡張したことで、CASTを使用したTIMESTAMPからDATEへの変換に、AT句がサポートされるようになりました。また、INTERVAL式の他にも追加の式を使用して、タイムゾーン変位を指定することができます。
TIMESTAMP(タイムゾーンなし)は、ANSI SQL:2011準拠ではありません。Vantageは、現行セッションのタイムゾーン、または指定されたタイムゾーンに基づいて、TIMESTAMP値を内部的にUTCに変換します。
構文
CAST ( timestamp_expression AS DATE [ WITH TIME ZONE ] [ AT { LOCAL | SOURCE [ TIME ZONE ] | [ TIME ZONE ] { expression | time_zone_string } } ] [ data_attribute [...] ] )
構文要素
- timestamp_expression
変換するタイムスタンプ式。
- 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