我有以下格式的csv文件(y.csv):
's', '1999-10-10', '1999-12-12'
'b', '99-10-10 BC', '1-10-10 BC'
'c', 'NULL', 'NULL'
我在其中有一些NULL值(日期),我通过字符串'NULL'表示。
我正在尝试将csv文件复制到postgres中。为此,我创建了一个表:
create table r (id character varying(255), timebegin date, timeend date);
现在我尝试使用命令
将上述.csv文件复制到postgres中copy r from '/home/y.csv' delimiter ',' csv;
ERROR: invalid input syntax for type date: " 'NULL'"
CONTEXT: COPY r, line 1, column timebegin: " 'NULL'"
这样做我收到NULL错误。有人可以帮我找出错误并纠正错误。
答案 0 :(得分:31)
你试过吗?
copy r from '/home/y.csv' delimiter ',' csv WITH NULL AS 'null';
答案 1 :(得分:3)
提供文件路径后,我们需要在添加其他参数之前使用'With'-
从'/home/y.csv'中复制带有分隔符',NULL AS'null'的csv标头的r;
答案 2 :(得分:2)
错误是因为您将NULL
作为字符串插入。删除NULL
周围的引号,它应该可以正常工作。
答案 3 :(得分:0)
第一 将所有NULL替换为''(空格)。
然后 从'/home/y.csv'用DELIMITER','NULL复制为''CSV;