postgres csv日期空导入错误

Wal*_*len 6 csv postgresql import

我正在将数据导入 Postgres 数据库。我要导入的表包含几列带有日期的列。

但是,我正在上传的 CSV 文件的某些日期字段具有空值。

该表如下所示:

dot_number bigint,
legal_name character varying,
dba_name character varying,
carrier_operation character varying,
hm_flag character varying,
pc_flag character varying,
...
mcs150_date date,
mcs150_mileage bigint,
Run Code Online (Sandbox Code Playgroud)

数据如下所示:

1000045,"GLENN M HINES","","C","N","N","317 BURNT BROW RD","HAMMOND","ME","04730","US","317 BURNT BROW RD","HAMMOND","ME","04730","US","(207) 532-4141","","","19-NOV-13","20000","2012","23-JAN-02","ME","1","2"
1000050,"ROGER L BUNCH","","C","N","N","108 ST CHARLES CT","GLASGOW","KY","42141","US","108 ST CHARLES CT","GLASGOW","KY","42141","US","(270) 651-3940","","","","72000","2001","23-JAN-02","KY","1","1"
Run Code Online (Sandbox Code Playgroud)

我试过这样做:

COPY CC FROM 'C:\Users\Owner\Documents\FMCSA Data\FMCSA_CENSUS1_2016Sep.txt' DELIMITER ',' CSV HEADER NULL '';
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

错误:日期类型的无效输入语法:“”上下文:COPY cc,第 24 行,mcs150_date 列:“”************ 错误 ************

错误:日期类型的无效输入语法:“”SQL 状态:22007 上下文:COPY cc,第 24 行,列 mcs150_date:“”

这可能很简单,但我在网上找到的所有解决方案都没有奏效。

Nic*_*ick 4

您需要指定QUOTE字符,以便""将其解释为NULL,如下所示:

COPY CC FROM 'C:\Users\Owner\Documents\FMCSA Data\FMCSA_CENSUS1_2016Sep.txt' DELIMITER ',' CSV HEADER QUOTE '"' NULL '';
Run Code Online (Sandbox Code Playgroud)

QUOTE '"'是补充。

文档: https: //www.postgresql.org/docs/current/static/sql-copy.html