gpt4 book ai didi

mysql - 对以 JSON 编码的字段使用 MySQL LIKE 运算符

转载 作者:可可西里 更新时间:2023-11-01 07:06:26 26 4
gpt4 key购买 nike

我一直在尝试使用此查询获取表格行:

SELECT * FROM `table` WHERE `field` LIKE "%\u0435\u0442\u043e\u0442%"

字段本身:

Field                                     
--------------------------------------------------------------------
\u0435\u0442\u043e\u0442 \u0442\u0435\u043a\u0441\u0442 \u043d\u0430

虽然我似乎无法让它正常工作。我已经尝试过使用反斜杠字符进行试验:

LIKE "%\\u0435\\u0442\\u043e\\u0442%"
LIKE "%\\\\u0435\\\\u0442\\\\u043e\\\\u0442%"

但它们似乎都不起作用。

如果有人可以提示我做错了什么,我将不胜感激。提前致谢!


编辑

问题解决了。解决方案:即使更正了查询的语法,它也没有返回任何结果。将字段设置为 BINARY 后,查询开始工作。

最佳答案

根据 String Comparison Functions 记录:

Note

Because MySQL uses C escape syntax in strings (for example, “\n” to represent a newline character), you must double any “\” that you use in LIKE strings. For example, to search for “\n”, specify it as “\\n”. To search for “\”, specify it as “\\\\”; this is because the backslashes are stripped once by the parser and again when the pattern match is made, leaving a single backslash to be matched against.

因此:

SELECT * FROM `table` WHERE `field` LIKE '%\\\\u0435\\\\u0442\\\\u043e\\\\u0442%'

查看 sqlfiddle .

关于mysql - 对以 JSON 编码的字段使用 MySQL LIKE 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13671125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com