redshift unload:仅引用引号而不是数字

时间:2017-07-13 05:16:44

标签: csv amazon-web-services amazon-redshift

我正在尝试在redshift上运行unload命令,将表中的数据转储到CSV文件中。该表包含字符和数字字段。字符字段可能包含逗号(,),因此我需要引用它们。但是,我不需要在我的数字列周围引用。

以下命令是我最接近的命令,但似乎无法摆脱我的数字数据引用。我怎样才能达到预期的效果?

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

这会产生如下数据:

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

我想要的是:

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

1 个答案:

答案 0 :(得分:0)

从阅读官方文档来看,这似乎是不可能的。

我可以建议两种可能的解决方法:

1)在查询中用引号包装你的字符串列,即代替

select * from mytable

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

2)导出制表符分隔文件,以便文本列中的逗号不再是问题