从 CSV 导入 PSQL 添加附加字符

PSQL import from CSV adding additional characters

我有一个 CSV 文件,我要在其中导入多个字段...其中一个字段是格式为“20120401”的日期类型字段。在CSV文件中,所有行的这个字段的长度都是8。我在Postgres中创建了一个table,并将接收这个数据的字段指定为一个DATE类型的列。当我导入 CSV 文件时,它抛出一个 "invalid input error"。为了解决这个问题,我将 table 的类型更改为 VARCHAR,认为我可以 运行 一个 ALTER TABLE 以在之后更改数据类型。导入成功,但 ALTER TABLE 不成功。我注意到第一行的日期长度为 9,而其余所有行的标准长度为 8。不知何故,在进口中它获得了另一个特征,对于我的生活,我无法确定它来自哪里。我已经完成了一堆 TRIM 操作(TRIM,BTRIM),但仍然会产生 9 个字符。有什么建议么?如果我删除这一行,则将其更改为 DATE 类型的 ALTER TABLE 语句有效。所以真的只有这一行。

示例如下:

20150401    My  Gll ES  1A3AE039E352    GCE 0.2461158

20150401    My  Gll ES  1F63E45849F1    GCE 0.8670354

查看我的 crystal 球,我发现它是文件开头的 byte order mark (BOM)。

这将是 UNICODE 字符 U+FEFF,在 UTF-8 中它将是 EF BB BF。

虽然字节顺序标记在 UTF16 编码中用于确定 endianness,但它们在 UTF-8 中无用,但一些操作系统将它们用作表示“this文件是 UTF-8”。

您必须删除该角色。