【问题标题】:postgresql how to insert a value with double quotes inside double quotespostgresql如何在双引号内插入带有双引号的值
【发布时间】:2019-02-15 05:36:27
【问题描述】:

这是我在我的 postgresql 数据库上运行的 sql 代码。事实证明会导致错误

INSERT INTO t1(
   group1
)
VALUES
("GIRL''S 16'" AND LESS BIKE");       

但是如果我在 16' 之后删除双引号,它就可以正常工作。 所以我想知道有没有办法将双引号保留在里面但也能成功插入到表格中?

【问题讨论】:

标签: postgresql


【解决方案1】:

我认为如果您删除 " 之一,它不会正常工作,因为那将是非法 SQL。

字符串必须用单引号括起来(');双引号 (") 没有特殊含义。

这将是一个正确的字符串:

'GIRL''S 16" AND LESS BIKE'

但那真的是给大个子女孩的。

【讨论】:

    【解决方案2】:

    使用dollar-quotes怎么样?

    SELECT $$GIRL'S 16" AND LESS BIKE$$
    

    请注意,在美元引用的字符串中,可以使用单引号 无需逃脱。确实,a 中没有字符 美元引用的字符串永远被转义:字符串内容总是 字面上写的。反斜杠并不特殊,美元也不特殊 符号,除非它们是与开始标签匹配的序列的一部分。

    【讨论】:

      【解决方案3】:

      只需将您需要的任何文本封装在单引号下的双引号中即可。

      例子:

      INSERT INTO t1
      (group1)
      VALUES
      ('"GIRL S 16" AND LESS BIKE');   
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-17
        • 2011-04-19
        • 2011-03-09
        相关资源
        最近更新 更多