id | sign_customer_info_ext |
---|---|
1 | [{“cstName”:“hhjk”,“cstMobile”:“14258669888”,“idCardType”:“1”,“cardId”:“460101199601012516”}] |
2 | [{“cstName”:“ghhj中文1355”,“cstMobile”:“18253558608”,“idCardType”:“1”,“cardId”:“460101199601012815”},{“cstName”:“fhjj重要133366”,“cstMobile”:“15555555555”,“idCardType”:“1”,“cardId”:“460101199601012313”}] |
主要使用的 SQL 函数是 json_extract() ,它的作用是:从JSON格式查找所有指定数据
1. json 数组查询
模糊查询 json 数组格式的字段中某个字段: 使用方式: SELECT * FROM 表名 WHERE json_extract(字段名,"$[*].json中key") like '%需要搜索的值%'; 实例: SELECT * FROM table WHERE json_extract(sign_customer_info_ext,"$[*].cstName") like '%h%';
精准查询(注意:精准查询必须写明所查询字段所属数组那个下标,比如查排在一个就是 [0],第二个就是 [1]) SELECT id,sign_customer_info_ext FROM table WHERE json_extract(sign_customer_info_ext,"$[0].cstName") = 'ghhj中文1355';
2.单个 json 查询
前端和mysql数据库中 单个 json 参数:
{ "cstName": "马云", "cstMobile": "17879767646", "idCardType": "1", "cardId": "E4813980" }
模糊查询单个 json 查询: 使用方式: SELECT id,sign_customer_info_ext FROM 表名 WHERE json_extract(字段名,"$.json中key") like '%马云%'; 实例: SELECT id,sign_customer_info_ext FROM table WHERE json_extract(sign_customer_info_ext,"$.cstName") like '%马云%';
总结
到此这篇关于MySQL中查询json格式的文章就介绍到这了,更多相关MySQL查询json格式字段内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!