2017-07-13 4 views
0

redshiftでunloadコマンドを実行して、テーブルからCSVファイルにデータをダンプしようとしています。この表には、文字フィールドと数値フィールドがあります。文字フィールドにはコンマ(、)が含まれている可能性があるので、引用符が必要です。しかし、私は数値列を引用符で囲む必要はありません。redshift unload:パレットは、文字フィールドだけを数字ではなく数字だけで囲みます。

次のコマンドは私が一番近かったものですが、引用符を取り除くことができません。どのようにして目的の結果を達成できますか?

"Henry, Jr","23","4.5" 
"Henry, Sr","56","4.2" 

私が希望することです:

unload ('select * from mytable') to 
's3://mybucket/path/file.csv' 
DELIMITER ',' ADDQUOTES 

これは以下のようにデータになり

"Henry, Jr",23,4.5 
"Henry, Sr",56,4.2 

答えて

0

公式ドキュメントを読んでから、それはのように思えますそれは可能ではありません。

1)

select int_col_1, int_col_2, '"'||str_col_1||'"','"'||str_col_2||'"' from mytable

2をクエリ内の引用符を使用して文字列カラムを包む、つまり代わりに

select * from mytable

持っている:私は2つの潜在的な回避策を提案することができ

)タブを区切ってファイルをエクスポートするので、テキスト列のカンマが問題なく終了する

+0

ありがとうございます。はいオプション1は良い回避策のようです。他の誰かが組み込みのオプションを見つけられるのを待っている。 –

+0

オプション2は、タブ区切りのファイルを任意のデータベースに読み込むことができ、スプレッドシートソフトウェアもTSVをサポートするため、どちらも悪くない – AlexYes

関連する問題