sql - 使用\copy 命令将 CSV 导入 Postgres 时如何转义\n(换行符)?

标签 sql database postgresql csv escaping

我正在尝试使用\copy 从 CSV 文件将数据导入到我的 postgres 表中 数据如下:

1,2,"First Line \n Second Line", "Some other data"

我的动机是在导入数据时保留 '\n'。

以下作品:

insert into table (col1, col2, col3, col4) values (1, 2, E'First Line \n Second Line', 'Some other data')

但是如何使用\copy 命令获得相同的结果呢?

最佳答案

您在 CSV 中唯一可以转义的是字段分隔符(默认情况下为 "),您可以通过将其加倍来转义。

换行符无法转义,实际上也没有必要,因为您可以使用文字换行符。

这是 CSV 格式的单行:

1,2,"First Line
Second Line", "Some other data"

关于sql - 使用\copy 命令将 CSV 导入 Postgres 时如何转义\n(换行符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40678400/

相关文章:

python - 如何覆盖模板中的 ArrayField 默认错误消息?

sql - 如何让mysql接受sybase database..table notation

php - 在 mysql 中编写此查询时出现问题(在论坛中标记已读消息)

mysql - 确定列值在 MySQL 中是否为空/非空

mysql - 在两个数据库中拥有表是否会造成性能损失

postgresql - 为什么我在重建 docker 镜像时不会丢失 postgresql 数据?

mysql - 如何使用 SQL 进行 SUM 和 SUBTRACT?

mysql - 连接两个表时可以使用 OR 吗?

php - 隐藏数据库ID

ruby-on-rails - gitlab 迁移数据库但 db/schema.rb 没有改变