复制csv上的转义字符

时间:2014-12-17 07:47:23

标签: sql shell csv copy escaping

我有一个sql脚本,打算将postgres和spool中的数据导出到csv文件中,以后我一直工作,直到我将随机样本添加到行中。

以下是随机()

的代码
\COPY (select accountid, to_char(createtime,'YYYY-MM-DD HH24:MI:SS.ms') from accounts random()< 0.01 limit 1000) to '/home/oracle/scripts/accounts_p.csv' WITH DELIMITER ',' NULL AS ' '

运行此sql脚本时出现错误消息:

psql:accounts_sample_p.sql:1: \copy: ERROR:  syntax error at or near ")"
LINE 1: ...from accounts random ( ) < 0.01 l...

                              ^

看起来它不喜欢().尝试使用转义字符\ before(和之前),但它没有帮助。

任何人都可以就如何克服这个问题给我一些建议吗?感谢。

1 个答案:

答案 0 :(得分:0)

你似乎错过了一个&#39; WHERE&#39;在SELECT语句中。即:

select accountid, to_char(createtime,'YYYY-MM-DD HH24:MI:SS.ms') from WHERE accounts random()< 0.01 limit 1000

如果您正在努力应对性能,可以在此处找到在PostgreSQL中选择随机集的替代方法:

Best way to select random rows PostgreSQL

相关问题