我有以下文本文件aatest.txt
:
09/25/2019 | 1234.5
10/01/2018 | 6789.0
想要转换为zztext.txt
的:
2019-09-25 | 1234.5
2018-10-01 | 6789.0
我的Postgres脚本是:
CREATE TABLE documents (tdate TEXT, val NUMERIC);
COPY documents FROM 'aatest.txt' WITH CSV DELIMITER '|';
SELECT TO_DATE(tdate, 'mm/dd/yyyy');
COPY documents TO 'zztest.txt' WITH CSV DELIMITER '|';
但是我收到以下错误消息:
ERROR: column "tdate" does not exist
我究竟做错了什么?谢谢!
答案 0 :(得分:1)
您的SELECT没有FROM子句,因此您不能引用任何列。但是无论如何,您都需要将该SELECT放入COPY语句中:
CREATE TABLE documents (tdate TEXT, val NUMERIC);
COPY documents FROM 'aatest.txt' WITH CSV DELIMITER '|';
COPY (select to_char(TO_DATE(tdate, 'mm/dd/yyyy'), 'yyyy-mm-dd'), val FROM documents)
TO 'zztest.txt' WITH CSV DELIMITER '|';