Hello! 欢迎来到小浪云!


如何在 LIKE 查询中包含特殊字符 “ 和 `"` ?


avatar
小浪云 2024-11-10 57

如何在 LIKE 查询中包含特殊字符 “ 和 `"` ?

like 查询中含有特殊字符 和 ” 时的问题

当 like 查询中含有特殊字符 和 ” 时,可能会出现查询不到结果的问题。

问题描述

数据库中一个存储 json 字符串的字段为例,需要查询该字段中 totalcount 属性值为 true 的数据。

  • 以下查询可以返回结果:
    select * from task where column_a like ‘%”totalcount%’
  • 但以下查询却无法返回结果:
    select * from task where column_a like ‘%”totalcount”%’

原因分析

反斜杠()是 sql 中的转义字符,用于转义具有特殊含义的字符,使其能够表示原本的含义。因此,当 like 中包含反斜杠时,需要对反斜杠进行再次转义才能正确解析。另外,双引号(”)也是 sql 中的特殊字符,需要进行转义才能正常使用。

解决方案

要解决此问题,需要对反斜杠和双引号进行转义,可以使用以下方式:

  • 对反斜杠转义: 或者
  • 对双引号转义:”

因此,正确的查询语句可以写成:

SELECT * from task where column_a LIKE '%\"totalCount\":false%'
登录后复制

其中,反斜杠被转义了两次,双引号也被转义。

相关阅读