PostgreSQL中如何搜索包含单引号的字段值?
PostgreSQL搜索包含单引号的字符串的正确写法
你要搜索的目标字符串是activities,'L','D',下面两种方法都能正确实现需求:
方法一:标准SQL双单引号转义
PostgreSQL遵循标准SQL规则,用两个连续单引号转义单个单引号。对应的LIKE条件写法如下:
WHERE "table"."column" LIKE '%activities,''L'',''D''%'
注意:如果你的表名或列名是SQL保留字(比如table本身就是保留字),必须用双引号将其括起来,否则会触发语法错误。
方法二:PostgreSQL美元引号(更省心)
用PostgreSQL特有的美元引号语法,无需转义单引号,直接编写目标字符串即可:
WHERE "table"."column" LIKE $$%activities,'L','D'%$$
美元引号以$$作为首尾分隔符,内部的单引号可以直接使用,能彻底避免转义带来的拼写错误。
如果原查询仍无结果,建议检查这几点:
- 表名、列名的拼写是否完全正确
- 目标列中是否确实存在包含
activities,'L','D'的记录 - 若需要不区分大小写匹配,将
LIKE替换为ILIKE
内容的提问来源于stack exchange,提问作者Konstantinos Vilaras
相关产品推荐
相关产品推荐

