我一直试图用这个查询得到一个表行:
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之后,查询开始工作.
解决方法:
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 07001 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%'
标签:json,mysql
来源: https://codeday.me/bug/20190625/1287124.html