我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql中取出json字段的小技巧

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql中取出json字段的小技巧

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数据库下想取一个姓名标红是如内容如上图

mysql中取出json字段的小技巧

建立视图,取这个字段的姓名,由于他的key:"20071090" 是动态的不确定,而且在这个地方只会出现一次,首先我取第一层key==>selects下的值

SELECT ZDLSXM->'$.selects' from VI_YXGR

mysql中取出json字段的小技巧

在这个基础上,再取下一层,由于这层是动态的key,不能使用第一步的  ZDLSXM->'$.selects' 那种方法,所以我选择substring_index 方法 去掉大括号的方式来,再使用CONCAT() 拼接成为新的json,如下图标红的地方删除掉

mysql中取出json字段的小技巧

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

mysql中取出json字段的小技巧

mysql中取出json字段的小技巧

 再包装一层就可以取道这个名称了

SELECT SE_ZDLSXM->'$.name' AS ZDLSXM from (
SELECT CONCAT("{",substring_index(substring_index(ZDLSXM->'$.selects', '{', -1),"}",1),"}") as SE_ZDLSXM  from VI_YXGR
) sss 

mysql中取出json字段的小技巧

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql中取出json字段的小技巧

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql中取出json字段的小技巧

目录mysql取出json字段技巧mysql中使用函数JSON_EXTRACT()spark sql中使用get_jsoLfCBTJn_object()mysql取json,在不知道key情况下,取他的value详细值mysql取出json
2022-07-05

mysql中如何取出json字段

这篇文章主要介绍“mysql中如何取出json字段”,在日常操作中,相信很多人在mysql中如何取出json字段问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中如何取出json字段”的疑惑有所帮助!
2023-07-02

sql怎么取json中的字段值

从JSON数据中提取特定字段值的方法包括使用SQL的JSON_EXTRACT()函数和->操作符。JSON_EXTRACT()函数通过指定JSON路径直接提取值,而->操作符允许导航嵌套的JSON结构。处理嵌套数据时,可以使用点号或->访问子级值。还提供了其他函数和操作符,如JSON_VALUE()和JSON_QUERY(),用于更复杂的提取任务。
sql怎么取json中的字段值
2024-04-11

sql如何取json中的字段值

从JSON数据中提取字段值的方法:JSON_VALUE():指定JSON路径提取特定字段。JSON_EXTRACT():灵活的路径表达式,支持通配符。JSON_UNQUOTE():去除JSON字符串中的引号。JSON_ARRAY():将JSON字符串转换为数组,提取元素。JSON_OBJECT():从JSON数据中创建新的JSON对象。嵌套JSON函数:提取嵌套JSON数据中的特定字段。选择方法时考虑JSON结构和需求。对于简单JSON使用JSON_VALUE(),对于嵌套数据使用JSON_EXTRACT
sql如何取json中的字段值
2024-04-11

MySQL解析JSON格式字段并取出部分值方式

目录mysql解析jsON格式字段并取出部分值以下是一些示例总结MySQL解析JSON格式字段并取出部分值在MySQL中,从JSON格式的字段中提取数据可以使用JSON_EXTRACT()函数,或者使用->操作符。以下是一些示例假设你
MySQL解析JSON格式字段并取出部分值方式
2024-08-09

MySQL中json字段的操作方法

MySQL5.7.8中引入了json字段,这种类型的字段使用的频率比较低,但是在实际操作中,有些业务仍然在用,我们以此为例,介绍下json字段的操作方法: 还是从例子看起:mysql> create table test1(id in
2022-05-31

sql如何获取json串中字段的值

在SQL中获取JSON字符串中字段值的方法包括:JSON_VALUE()函数:提取特定路径下的字段值。JSON_EXTRACT()函数:提取嵌套对象的字段值。JSON_QUERY()函数:使用XPath语法查询JSON数据。CASE表达式:根据JSON路径匹配键来提取值。正则表达式:从JSON字符串中提取字段值,适用于嵌套或动态键。
sql如何获取json串中字段的值
2024-04-11

sql如何获取json串中字段的值

在SQL中,可以使用JSON函数来获取JSON串中字段的值。以下是一些常用的JSON函数:1. JSON_VALUE:用于提取JSON串中的单个值。语法:JSON_VALUE(json_column, '$.key')示例:SELECT J
2023-08-25

Mysql中JSON字段的值的实现示例

我们在查询mysql数据时,查询某个字段的数剧是我们经常接触的,直接使用sql语句或者更方便的直接使用数据库的orm语句查询。但是如果需要查询某个json字段里面的某些数据,orm模型可能都无法达到效果,还不如直接使用sql语句进行查询来的
Mysql中JSON字段的值的实现示例
2024-09-11

mysql怎么取两个字段的最小值

要取两个字段的最小值,可以使用MySQL中的LEAST()函数。这个函数接受多个参数,并返回这些参数中的最小值。例如,假设有一个表students包含id、name和age三个字段,要取age和id字段的最小值,可以使用如下SQL语句:
mysql怎么取两个字段的最小值
2024-04-09

MySQL中使用CTE获取时间段数据的技巧分享

目录引言1. 获取最近十二个月解释:2. 获取最近十二周解释:3. 获取最近四个季度解释:4. 获取十二个月前的月第一天解释:5. 获取十二周前的周第一天解释:结论引言在数据库操作中,获取特定时间段的数据是一项常见任务。mysql自从8.
MySQL中使用CTE获取时间段数据的技巧分享
2024-08-21

编程热搜

目录