【问题标题】:Escaping one single quote and one double quote from csv to SQL?将一个单引号和一个双引号从 csv 转义到 SQL?
【发布时间】:2020-10-16 18:44:00
【问题描述】:

我正在尝试生成一个 csv 文件,我最终将使用该文件作为 postgres db 的种子(这样做是因为它的大小 - 数百万条记录)。我已经看到了如何在 csv 和 SQL 中转义撇号或双引号的示例,但在同一字符串中却没有看到两者的单引号。即,高度表示为5'11"。这引起了很多头痛,任何帮助表示赞赏。

我已经尝试过的:

'5''11"'
"5'11"" 
"5'11"""
'5\'11\"'
"5\'11\""

【问题讨论】:

  • 我认为这可能与您使用COPY 和/或\copy 导入数据库的方式有很大的关系。那你在做什么呢?
  • 坚持标准是一种很好的做法。尽管 CSV 没有严格的标准,但RFC 4180 被广泛接受为其中之一。我建议你像@LaurenzAlbe 的回答一样坚持下去。

标签: sql postgresql csv escaping


【解决方案1】:

始终只有一个引号字符,默认为"。那么你就不必转义任何其他字符,如'

所以你的字符串会变成

"5'11"""

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-13
    • 2013-06-30
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    相关资源
    最近更新 更多