PostgreSQL如何在双引号内插入带双引号的值

时间:2018-09-10 18:38:26

标签: postgresql

这是我在我的postgresql数据库上运行的sql代码。原来是导致错误的原因

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

但是如果我删除16'之后的双引号,它就可以正常工作。 因此,我想知道是否有一种方法可以保留双引号,但又可以成功将其插入表中?

3 个答案:

答案 0 :(得分:2)

如果您删除"之一,我认为它不会很好,因为那将是非法的SQL。

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

这将是正确的字符串:

'GIRL''S 16" AND LESS BIKE'

除了真的是大女孩。

答案 1 :(得分:1)

只需将所需的任何文本用双引号括起来就可以了。

示例:

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

答案 2 :(得分:0)

使用dollar-quotes怎么样?

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

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