我正在尝试在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
答案 0 :(得分:0)
从阅读官方文档来看,这似乎是不可能的。
我可以建议两种可能的解决方法:
1)在查询中用引号包装你的字符串列,即代替
select * from mytable
有
select int_col_1, int_col_2, '"'||str_col_1||'"','"'||str_col_2||'"' from mytable
2)导出制表符分隔文件,以便文本列中的逗号不再是问题