TIMEからTIMESTAMPへのTeradata変換構文 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データ タイプおよびリテラル

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/tpf1598412463935.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

ANSI準拠

この文は、ANSI SQL:2011規格に対するTeradata拡張機能です。

AT句は、ANSI SQL:2011に準拠しています。

ANSIを拡張したことで、Teradata変換構文を使用したTIMEからTIMESTAMPへの変換に、AT句がサポートされるようになりました。また、INTERVAL式の他にも追加の式を使用して、タイムゾーン変位を指定することができます。

TIME(タイムゾーンなし)とTIMESTAMP(タイムゾーンなし)はANSI SQL:2011準拠ではありません。Vantageは、現行セッションのタイムゾーンまたは指定されたタイムゾーンに基づいてTIME値またはTIMESTAMP値をUTCに内部的に変換します。

構文

time_expression (
  [ data_attribute [,...] ] TIMESTAMP
  
  [ ( fractional_seconds_precision ) ]
  
  [, WITH TIME ZONE ]
  
  [ AT { LOCAL | SOURCE [ TIME ZONE ] |
         [ TIME ZONE ] { expression | time_zone_string }
       }
  ]
  
  [, data_attribute [,...] ]
)

構文要素

time_expression

変換するTIME式。

data_attribute
以下のデータ属性のうちのいずれか1つ。
  • FORMAT
  • NAMED
  • TITLE
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はタイムゾーン変位を決定します。