この例では、最初の仮想入力列の項目の末尾に特殊文字があります。仮想列を分離する区切り記号がありません。ColumnLengthは2です。Unpackの呼び出しにはIgnoreInvalid ('true')が含まれていますが、出力は予期されません。
入力
| c1 |
|---|
| 1,1919-04-05 |
| 1.1919-04-05 |
| 5,.1919-04-05 |
| 2,2019/04/05 |
| 4.,.1919-04-05 |
| 32019/04/05 |
SQL呼び出し
SEL * FROM Unpack (
ON t2
USING
TargetColumn ('c1')
OutputColumns ('a','b')
OutputDataTypes ('int','date')
ColumnLength ('2','*')
IgnoreInvalid ('True')
) AS dt;
出力
| a | b |
|---|---|
| 1 | 19/04/05 |
| 1 | 19/04/05 |
| 2 | 19/04/05 |
出力が予期されないのは、次に示す、Unpackが使用する内部ライブラリの動作に原因があります。
| 入力行 | 動作 |
|---|---|
| 1,1919-04-05 | ライブラリは末尾のカンマを削除し、"1"を整数に変換し、"1919-04-05"を現在の日付に変換します。(出力行1。) |
| 1.1919-04-05 | ライブラリは末尾のピリオドを削除し、"1"を整数に変換し、"1919-04-05"を現在の日付に変換します。(出力行2。) |
| 5,.1919-04-05 | ライブラリは末尾のカンマを削除し、"5"を整数に変換しますが、"1919-04-05"を現在の日付に変換することはできません。(出力行なし。) ColumnLength ('3','*')を使用すると、ライブラリは末尾のカンマとピリオドを削除し、"5"を整数に変換し、"1919-04-05"を現在の日付に変換して、この入力行の行を出力します。 |
| 2,2019/04/05 | ライブラリは末尾のカンマを削除し、"2"を整数に変換し、"1919/04/05"を現在の日付に変換します。(出力行3。) |
| 4.,.1919-04-05 | ライブラリは"4."を整数に変換しますが、",.1919-04-05"を現在の日付に変換することはできません。(出力行なし。) |
| 32019/04/05 | ライブラリは"32"を整数に変換しますが、"019/04/05"を現在の日付に変換することはできません。(出力行なし。) |