我有一堆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类型填充表后必须重新编译