我尝试读取一个包含真实的的csv文件,并使用逗号作为分隔符。我尝试在psql中使用\copy读取这个文件:
\copy table FROM 'filename.csv' DELIMITER ';' CSV HEADER;
psql不承认逗号作为小数点.
psql:filename.sql:44:错误:真实的类型的输入语法无效:“9669,84”上下文:复制文件名,第2行,第3列:“九六六九,八十四”
我做了一些谷歌搜索,但找不到任何答案以外的“改变小数点逗号成小数点”。设置DECIMALSEPARATORCOMMA=ON;但这并不奏效。我还尝试了一些编码,但我无法找到编码是否控制小数点(我得到的印象是它没有)。
除了更改输入数据之外,真的没有其他解决方案吗?
1条答案
按热度按时间sh7euo9m1#
COPY
到一个表中,在该表中将数字插入varchar字段。然后在psql
中执行以下操作:您可能需要更改格式字符串以匹配所有数字。有关可用内容的更多信息,请参见Data formatting表9 - 28。数字格式的模板模式。