PGAdmin导入CSV至PostgreSQL时出现date类型语法错误求助
解决PostgreSQL COPY导入CSV时的日期格式错误问题
错误原因很明确:你的CSV文件第一行是字段表头,但当前的COPY命令没有告诉PostgreSQL跳过这一行,导致它把表头字符串"ELECTION_DATE"当作date类型的数据来解析,触发了类型转换错误。
解决方案
在COPY命令的WITH子句中添加HEADER参数,让PostgreSQL自动跳过第一行的表头,直接从第二行开始读取有效数据。
修改后的COPY脚本:
copy "Feb24_Primary_Ballot_Distribution" ( "ELECTION_DATE", "VOTER_IDENTIFICATION_NUMBER", "LAST_NAME", "SUFFIX", "FIRST_NAME", "MIDDLE_NAME", "ADDRESS_LINE_ONE", "ADDRESS_LINE_TWO", "CITY", "STATE", "ZIP_CODE", "MAILING_ADDRESS_LINE_ONE", "MAILING_ADDRESS_LINE_TWO", "MAILING_ADDRESS_LINE_THREE", "MAILING_ADDRESS_LINE_FOUR", "MAILING_ADDRESS_LINE_FIVE", "COUNTY_CODE", "COUNTY_NAME", "JURISDICTION_CODE", "JURISDICTION_NAME", "PARTY_CODE" ) FROM 'E:\PostgreSQL\PostgreSQL QVF DB\Source Spreadsheets\02-24 Primary ballot distribution\RepDemTest2.csv' WITH NULL '' DELIMITER ',' CSV HEADER -- 新增参数,用于跳过CSV表头行 ENCODING 'WIN1252' QUOTE '"' ESCAPE '''';
补充说明
- 你的CSV日期格式
YYYY-MM-DD与PostgreSQL默认的date类型解析格式完全匹配,无需额外指定DATEFORMAT参数。 - 确保CSV表头的字段名称、顺序与COPY命令中指定的字段完全对应,避免出现字段不匹配的问题。
内容的提问来源于stack exchange,提问作者Alandmuse
相关产品推荐
相关产品推荐

