EXPAND ON句の構文 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/vjt1596846980081.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage
EXPAND ON expand_expression [AS] expand_column_alias
  [ BY { interval_literal |
         ANCHOR [PERIOD] anchor_name [ AT time_literal ]
       }
  ] [ FOR period_expression ]

構文要素

expand_expression
クエリー式内の時系列拡張情報。
EXPAND ON句は、通常の時系列を生成しますが、その時系列は、それぞれの粒度での一連の値として、または、入力行から得た指定された期間内の、事前定義された間隔の各時点での一連の値として生成します。
expand_expression変数は、選択した行を拡張するPERIOD列名またはPERIOD式を指定します。これは、EXPAND ON操作の入力行とも呼ばれます。
拡張期間がnullであれば、拡張された行にはnull拡張された値が入ります。
指定される列または拡張は、PERIODデータ型を持っているか、派生PERIOD列でなければなりません。
expand_column_alias
拡張するPERIOD式の別名化される名前。
別名化される列または式は、PERIODデータ型を持っていなければなりません。
他の列を参照せず、拡張された行の拡張された値を参照する式の内部も含めて、選択リストではexpand_column_aliasを参照できます。
ORDER BY句を除いて、同じ問合わせブロック内の他の句では、expand_column_aliasは指定できません。
サブクエリーや相関サブクエリー内の句では、expand_column_aliasは指定できません。また、選択リストにある集約関数や統計関数でも指定できません。
interval_literal
expand_column_nameを拡張する間隔式。
この値は、EXPAND ON句によって作成される値同等行の粒度を指定します。 INTERVAL型リテラル展開の完全なリストについては、拡張INTERVAL型リテラル式を参照してください。
BY interval_literalオプションを指定しない場合、拡張間隔のデフォルト値は、その列のPERIOD値の構成要素の型の粒度となります。
拡張は、拡張期間の開始値から始まって、拡張期間の終了値で終わり、その間、各拡張行はinterval_literalずつ増えます。
このプロセスでは、部分的期間のみを作成し、最後の拡張行は、拡張間隔の継続期間をカバーしない場合もあります。定義では、部分的期間とは、拡張間隔よりも継続期間が短い期間です。
anchor_name
拡張はアンカーPERIODの拡張です。
PERIODは、アンカーPERIODの拡張に対してのみ指定します。
  • 非INTERVAL型データにPERIODを指定すると、拡張はアンカーPERIOD拡張になります。
  • 非INTERVAL型データにPERIODを指定しないと、拡張はアンカー ポイント拡張になります。
変数anchor_nameは、アンカー名リテラルを指定します。アンカー名リテラルの完全なリストについては、アンカー名リテラル式を参照してください。
time_literal
オプションのTime定数。Time定数の完全なリストについては、 <SQLデータ型およびリテラル>を参照してください。
TIME定数値を指定しないと、ANCHOR_MILLISECOND、ANCHOR_SECOND、ANCHOR_MINUTE、ANCHOR_HOUR、WEEK_BEGIN、MONTH_BEGIN、QUARTER_BEGINまたはYEAR_BEGINのアンカーのデフォルト値は'00:00:00.000000 00:00'に設定され、その他のアンカーは'23:59:59.999999 00:00'に設定されます。
period_expression
period_expressionが対象期間を表わす場合、拡張する行数を制限します。 有効なPERIOD式の包括的なリストについては、<Teradata Vantage™ - データ タイプおよびリテラル、B035-1143>を参照してください。
拡張期間は、修飾された行と、period_expressionとして指定するPERIOD定数とがオーバーラップする期間です。
そうでない場合、拡張中の期間は、選択した行のPERIOD値です。
period_expressionのデータ型は、拡張された列のPERIODデータ型と比較可能でなければなりません。
指定されたPERIOD式がNULLか、行と重複しないかのいずれかの場合、拡張には適さないため、データベースでは行を拡張しません。