当前位置:网站首页> mysql中取出json字段的小技巧
mysql中取出json字段的小技巧
2022-07-05 16:42:00 【1024问】
mysql取出json字段技巧
mysql中使用函数JSON_EXTRACT()
spark sql中使用get_json_object()
mysql取json,在不知道key情况下,取他的value详细值
mysql取出json字段技巧有时候会将一些信息以json形式存在数据库中,如果太长的话,在取的过程中sql运行会比较慢,如果只取某些键值的话会比较浪费
mysql中使用函数JSON_EXTRACT()±—±---------------------------------------------------------------+| id | data |±—±---------------------------------------------------------------+| 1 | {“Tel”: “132223232444”, “name”: “david”, “address”: “Beijing”} || 2 | {“Tel”: “13390989765”, “name”: “Mike”, “address”: “Guangzhou”} |±—±---------------------------------------------------------------+select json_extract('{"name":"Zhaim","tel":"13240133388"}',"$.tel");spark sql中使用get_json_object()select get_json_object(i.extra, '$.sale_currency');select sum(get_json_object(i.extra, '$.sale_price') * i.count) as sale_price;mysql取json,在不知道key情况下,取他的value详细值{ "selects" :{ "20071090" :{ "NN" : 41,"LXFS1" : "12365","GH" : "20071090","RZZW" : "办公室主任","sxzym" : "园林植物与观赏园艺","ZC" : "副教授","XGW" : "行政管理后勤","XB" : "男","ZZMM" : "中共党员","ZWZC" : "高级职称","MZ" : "汉","CSRQ" : 307123200000,"XL" : "硕士","selectKey" : "20071090","XM" : "张三","GZBM" : "办公室","PZGW" : "副教授三级岗位","XW" : "农学硕士" }}}在这个mysql数据库下想取一个姓名标红是如内容如上图

建立视图,取这个字段的姓名,由于他的key:"20071090" 是动态的不确定,而且在这个地方只会出现一次,首先我取第一层key==>selects下的值
SELECT ZDLSXM->'$.selects' from VI_YXGR
在这个基础上,再取下一层,由于这层是动态的key,不能使用第一步的 ZDLSXM->'$.selects' 那种方法,所以我选择substring_index 方法 去掉大括号的方式来,再使用CONCAT() 拼接成为新的json,如下图标红的地方删除掉

SELECT CONCAT("{",substring_index(substring_index(ZDLSXM->'$.selects', '{', -1),"}",1),"}") from VI_YXGR

再包装一层就可以取道这个名称了
SELECT SE_ZDLSXM->'$.name' AS ZDLSXM from (SELECT CONCAT("{",substring_index(substring_index(ZDLSXM->'$.selects', '{', -1),"}",1),"}") as SE_ZDLSXM from VI_YXGR) sss 
以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。
边栏推荐
- Cs231n notes (bottom) - applicable to 0 Foundation
- 国产芯片产业链两条路齐头并进,ASML真慌了而大举加大合作力度
- Jarvis OJ Telnet Protocol
- Embedded-c Language-5
- Allusions of King Xuan of Qi Dynasty
- 麻烦问下,DMS中使用Redis语法是以云数据库Redis社区版的命令为参考的嘛
- 中国广电正式推出5G服务,中国移动赶紧推出免费服务挽留用户
- WR | 西湖大学鞠峰组揭示微塑料污染对人工湿地菌群与脱氮功能的影响
- Deep dive kotlin synergy (XXI): flow life cycle function
- Copy mode DMA
猜你喜欢
随机推荐
easyNmon使用汇总
【剑指 Offer】66. 构建乘积数组
tf. sequence_ Mask function explanation case
【7.7直播预告】《SaaS云原生应用典型架构》大咖讲师教你轻松构建云原生SaaS化应用,难题一一击破,更有华为周边好礼等你领!
Thoughtworks 全球CTO:按需求构建架构,过度工程只会“劳民伤财”
CMake教程Step6(添加自定义命令和生成文件)
Embedded -arm (bare board development) -2
How does the outer disk futures platform distinguish formal security?
What else do you not know about new map()
The first EMQ in China joined Amazon cloud technology's "startup acceleration - global partner network program"
Precision epidemic prevention has a "sharp weapon" | smart core helps digital sentinels escort the resumption of the city
URP下Alpha从Gamma空间到Linner空间转换(二)——多Alpha贴图叠加
Combined use of vant popup+ other components and pit avoidance Guide
Jarvis OJ Telnet Protocol
How to write a full score project document | acquisition technology
Jarvis OJ 简单网管协议
dried food! Semi supervised pre training dialogue model space
DenseNet
CMake教程Step4(安装和测试)
Use JDBC technology and MySQL database management system to realize the function of course management, including adding, modifying, querying and deleting course information.




![[first lecture on robot coordinate system]](/img/3c/af056f0fe68b3244a3dc491ceb291d.png)



