1

csvread を使用して、添付されたテストファイルから読み取ろうとしています。ファイルには、フィールド間の区切り文字として CTRL-A (\u0001) があります。

私が使用したステートメントは

select * from csvread('test.csv','id, name','charset=UTF-8 fieldDelimiter=\u0001');

期待される出力:

ID | Name
12 | sandeep

実際の出力:

ID | Name
12\u0001sandeep | null

これは、区切り文字として \u0001 を選択していないことを意味します。

CTRL-A(\u0001)ファイルの csvread を実行中に区切り文字として処理するにはどうすればよいですか?

4

1 に答える 1

1

あなたが使用することができます:

select * from csvread('~/Downloads/test.csv',
stringdecode('id\u0001name'),
stringdecode('charset=UTF-8 fieldSeparator=\u0001'));

ANSI -SQL テキスト リテラル\u0001. 次に、fieldSeparator の代わりに fieldDelimiter を使用しました (ドキュメントを参照)。

于 2012-10-12T10:51:43.617 に答える