COPY命令在字符串值中使用逗号 - Postgresql 10
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了COPY命令在字符串值中使用逗号 - Postgresql 10相关的知识,希望对你有一定的参考价值。
我试图将一个dat文件的内容复制到PostgreSQL中的表但是收到错误。 dat文件包含以下内容:
1,'"{{text}}","{{NoName}}":"{test},{OneName}:{test}"'
表格架构:
Create Table TestInfo (ID int, TestValues text);
我运行以下查询:
COPY Test from '/opt/Data/TestInfo.dat' WITH DELIMITER AS ',' NULL AS '';
但得到以下错误
ERROR: extra data after last expected column
甚至尝试过
COPY Test from '/opt/Data/TestInfo.dat' WITH DELIMITER AS ',' csv;
仍然是相同的错误....有人可以帮助我将数据文件的内容复制到数据库?
谢谢
答案
我怀疑这是因为因为Postgres中quote
命令的默认copy
字符是双引号,并且它出现在你的csv中,它只是一个单引号。
试试这个:
COPY Test from '/opt/Data/TestInfo.dat' WITH DELIMITER AS ',' QUOTE AS '''' NULL AS '';
请注意需要转义单引号,从而产生4个单引号。
以上是关于COPY命令在字符串值中使用逗号 - Postgresql 10的主要内容,如果未能解决你的问题,请参考以下文章
Snowflake COPY INTO 在数据值中的双引号值上失败