Unpack引数 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ - NewSQL Engineの分析関数

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/pqk1526318183991.ditamap
dita:ditavalPath
ja-JP/pqk1526318183991.ditaval
dita:id
B035-1206
Product Category
Software
Teradata Vantage
TargetColumn
パック済みデータを含む入力列の名前を指定します。
OutputColumns
出力列に与える名前を指定します。指定する順序は、対応する仮想列がtarget_columnに表示される順序です。名前はTeradata Vantage™ SQL基礎、B035-1141で定義された有効なオブジェクト名でなければなりません。
指定する出力列名の数が仮想入力列の数よりも少ない場合、この関数は余分な仮想入力列を無視します。つまり、パック済みデータにx + yの仮想列が含まれており、OutputColumns引数にxの出力列名が指定される場合、この関数は最初のxの仮想列に名前を割り当て、残りのyの仮想列を無視します。
OutputDataTypes
アンパック済み出力列のデータ型を指定します。サポート対象のデータ型はVARCHAR、INTEGER、DOUBLE PRECISION、TIME、DATE、TIMESTAMPです。
OutputDataTypesが値を1つだけ指定し、OutputColumnsが複数の列を指定する場合、指定された値はすべてのoutput_columnに適用されます。
OutputDataTypesが複数の値を指定する場合は、output_columnごとに値の指定が必要です。n番目のdatatypen番目のoutput_columnに対応します。
この関数は、VARCHAR列を16列のみ出力できます。
Delimiter
[オプション] パックされたデータの仮想列を分離する区切り記号を正規化形式C (NFC)の単一のUnicode文字で指定します。delimiterは大文字と小文字を区別します。
この引数とColumnLength引数の両方を指定しないでください。仮想列が区切り記号で区切られている場合は、この引数で区切り記号を指定します。それ以外の場合は、ColumnLength引数を指定します。
デフォルト: ','(カンマ)
ColumnLength
(オプション)仮想列の長さを指定します。このため、この引数を使用するには、仮想列ごとの長さを把握しておく必要があります。

ColumnLengthが値を1つだけ指定し、OutputColumnsが複数の列を指定する場合、指定された値がすべてのoutput_columnに適用されます。

ColumnLengthが複数の値を指定する場合は、output_columnごとに値の指定が必要です。n番目のdatatypen番目のoutput_columnに対応します。ただし、最後のoutput_columnはアスタリスク(*)にすることができ、これは残りのデータを含んでいる単一の仮想列を表わします。例えば、最初の3つの仮想列の長さがそれぞれ2、1、3で、残りすべてのデータが4番目の仮想列に属する場合、ColumnLength ('2', '1', '3', *)を指定できます。

この引数とDelimiter引数の両方を指定しないでください。
Regex
(オプション)パック済みデータの行を記述する正規表現を指定し、関数がデータ値を検索できるようにします。
パック済みデータの行には仮想列ごとのデータ値が含まれますが、その行には他の情報(仮想列名など)も含まれる場合があります。regular_expressionでは、各データ値は括弧で囲みます。
例えば、パック済みデータに2つの仮想列「age」と「sex」があり、パック済みデータの1行がage:34,sex:maleとします。その行を記述するregular_expression'.*:(.*)'です。'.*:'は仮想列の名前「age」と「sex」と一致し、'(.*)'は値「34」と「male」と一致します。
regular_expressionで複数のデータ グループを表わすには、括弧の複数ペアを使用します。括弧なしでは、regular_expressionの最後のデータ グループはデータ値を表わします(他のデータ グループは仮想列名または不要なデータと見なされます)。別のデータ グループがデータ値を表わす場合、RegexSet引数でそのグループ番号を指定します。
デフォルト: '(.*)'、文字列全体と一致します(区切り記号があればその間の文字列)。上記のサンプル行に適用すると、デフォルトのregular_expressionによって、関数から'age:34'と'sex:male'がデータ値として返されます。
RegexSet
(オプション)仮想列のデータ値を表わすregular_expressionのデータ グループの序数を指定します。
デフォルトの動作: regular_expressionの最後のデータ グループはデータ値を表わします。例えば、regular_expression'([a-zA-Z]*):(.*)'であるとします。group_numberが'1'の場合、'([a-zA-Z]*)'はデータ値を表わします。group_numberが'2'の場合、'(.*)'はデータ値を表わします。
最大値: 30
IgnoreInvalid
(オプション)無効なデータを含む行を関数が無視するかどうかを指定します。
デフォルト: 'false'(無効なデータを含む行が見つかると関数は機能しません。)