MySQL中如何提取字典列表里第二个字典的name键对应值
解决方法
MySQL 5.7及以上版本内置了JSON操作函数,可直接提取对应值,以下是具体操作:
情况1:存储该数据的字段为JSON类型
可直接使用JSON提取语法,两种写法效果一致:
-- 写法1:完整函数写法 SELECT JSON_UNQUOTE(JSON_EXTRACT(你的字段名, '$[1].name')) AS 结果 FROM 你的表名; -- 写法2:简写语法 SELECT 你的字段名->>'$[1].name' AS 结果 FROM 你的表名;
情况2:该数据以字符串类型存储
需要先把字段强转为JSON类型再提取:
SELECT CAST(你的字段名 AS JSON)->>'$[1].name' AS 结果 FROM 你的表名;
语法说明
- 数组下标从0开始计数,
$[1]对应数组中的第二个字典元素 .name指定提取该字典中name键对应的值->>是JSON_UNQUOTE(JSON_EXTRACT())的简写,作用是去除返回值外层的引号,直接得到纯文本结果Magazine Division
内容的提问来源于stack exchange,提问作者Chique_Code
相关产品推荐
相关产品推荐

