2014-12-17 2 views
1

У меня есть сценарий sql, предназначенный для экспорта данных из postgres и spool в файл csv, который работал нормально, пока я не добавил случайный образец в строку.escape-символ на копии 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... 

          ^

Appearantly это не понравилось (). пытался использовать экранирующий символ с \ раньше (и раньше), но это не помогло.

Может ли кто-нибудь дать мне совет о том, как преодолеть это? Благодарю.

ответ

0

Вы, кажется, не указали «WHERE» в инструкции 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

+0

Спасибо! Какая неловкая ошибка! – Cat

Смежные вопросы