我有一堆csv格式的人口普查表,我想带进postgresql数据库 . 所有字段都是字符串,尽管它们代表数值 . 我通过创建一个包含数字类型的表然后执行COPY表'myfile.csv'并在第一个字段中出错来测试了这一点 . 当我将第一个字段更改为VARCHAR并再次运行时,错误命中第二个字段 .

这是我的陈述:

create table race(
Id2 varchar(20),    
White numeric,  
AfAm numeric,   
NatAm numeric,  
Asian numeric,  
Hawaiin numeric, 
Other numeric,  
Inter numeric);

copy race 
FROM 'C:/Data/Waste_Intervention/Census_Tables/Cleaned/ACS_16_5YR_B02001_Race.csv'
DELIMITER ',' 
CSV

这是错误:

ERROR:  invalid input syntax for type numeric: "White"
CONTEXT:  COPY race, line 1, column white: "White"
SQL state: 22P02

是否有任何方法可以在复制期间进行转换,或者在使用varchar类型填充表后必须重新编译