You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL表中查询被单引号包裹的指定字符串?

解决SQL中查询单引号包裹字符串的语法问题

你的SQL语句SELECT id From TestTable WHERE Test LIKE '%'test'%'会触发语法错误,原因是SQL里单引号是字符串的边界标记,直接在字符串内部写单引号,数据库会误以为字符串在这里结束,导致语句被拆成了不合法的片段。

下面是两种可行的解决方法:

  • 标准通用写法:用两个连续单引号转义内部单引号
    这是所有主流数据库(MySQL、SQL Server、PostgreSQL等)都支持的SQL标准语法,把要匹配的单引号写成两个连在一起的单引号,数据库就会解析成一个实际的单引号字符:

    SELECT id FROM TestTable WHERE Test LIKE '%''test''%'
    
  • 特定数据库可选写法:用反斜杠转义(不推荐跨库使用)
    部分数据库比如MySQL在默认配置下支持反斜杠转义,但这种方式只适用于特定数据库,通用性差:

    SELECT id FROM TestTable WHERE Test LIKE '%\'test\'%'
    

如果你的需求是匹配**完全等于'test'**的记录(而不是包含它的字符串),可以去掉LIKE里的通配符%,直接用等于判断:

SELECT id FROM TestTable WHERE Test = '''test'''

内容的提问来源于stack exchange,提问作者temp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 08:10:25