mysql json大小写敏感,对于以JSON编码的字段使用MySQL LIKE运算符

我一直试图用这个查询得到一个表行:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中提供了一些关于MySQL使用JSON字段进行查询的示例代码。其中,可以使用json_extract函数来查询JSON字段中的特定值,使用json_contains函数来判断JSON字段是否包含某个值。另外,还可以使用JSON_REPLACE函数来更新JSON字段的值。需要注意的是,如果字段不存在,则返回null;如果JSON字段中的值为null,则返回字符串"null"。在引用\[2\]中也提供了一些使用对象类型和数组类型进行查询的示例代码。例如,可以使用JSON_UNQUOTE和JSON_EXTRACT函数来查询对象类型的字段使用JSON_CONTAINS函数来判断数组类型的字段是否包含某个值。在引用\[3\]中提供了一个JsonVo对象的示例,可以使用该对象来映射JSON字段的结构。综上所述,可以根据具体的需求使用MySQL提供的相关函数和对象来进行JSON字段的查询操作。 #### 引用[.reference_title] - *1* [mysql 查询json字段](https://blog.csdn.net/zk_jy520/article/details/126028017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [mybatis mysql json 字段查询操作](https://blog.csdn.net/weixin_44604118/article/details/128252131)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [MySQL JSON字段使用](https://blog.csdn.net/nics1993/article/details/125597245)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值