使用 LIKE 语句在 MySQL 数据库中搜索 JSON 编码文本

Search JSON encoded text in MySQL database using LIKE statement

我正在尝试修复我们系统中的错误,但我不知道该怎么做。

软件程序在数据库中保存 json 编码文本。 保存的编码文本如下所示。

{"en":"\u57fa\u672c\u7684\u306a\u8105\u5a01\u4fdd\u8b77"}

当我尝试使用 LIKE 查询搜索数据库时,它 return 没有结果。

以下是我的查询:

SELECT p.* FROM Question p WHERE p.deletedAt IS NULL AND p.title LIKE %\u57fa\u672c% AND p.questionType=3;

如果我只使用一个字符,此查询将完美运行。例如,如果我只使用 \u57fa\u672c,它就可以完美运行。但是组合不起作用。

有人知道为什么会这样吗?

正如@Sammitch 所建议的那样,转义反斜杠非常有效。

此查询有效。

SELECT p.* FROM Question p WHERE p.deletedAt IS NULL AND p.title LIKE %\u57fa\u672c% AND p.questionType=3;