この例では、最初の仮想入力列の項目の末尾に特殊文字があります。仮想列を分離する区切り記号がありません。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"を現在の日付に変換することはできません。(出力行なし。) |