MySQL如何查询指定列JSON数据中nationality键的对应值
MySQL查询JSON列指定键值的方法
MySQL 5.7及以上版本内置了JSON字段操作能力,要提取jsonInfo列中的nationality值可以用以下几种方式:
- 通用写法:使用
JSON_EXTRACT函数
-- 假设你的表名为users,可替换为实际表名 SELECT userid, displayName, JSON_EXTRACT(jsonInfo, '$.nationality') AS nationality FROM users;
- 简写写法:使用
->操作符,和JSON_EXTRACT效果完全一致
SELECT userid, displayName, jsonInfo->'$.nationality' AS nationality FROM users;
如果不需要返回结果带外层双引号,直接拿到纯文本值,可以用->>操作符或者搭配JSON_UNQUOTE函数:
SELECT userid, displayName, jsonInfo->>'$.nationality' AS nationality FROM users;
执行上述语句后得到的结果如下:
| userid | displayName | nationality |
|---|---|---|
| 11 | John Nakamura | ROK |
| 12 | Jose Hernandez | El Salvador |
| 13 | Bobby Simmons | USA |
内容的提问来源于stack exchange,提问作者user12738756
相关产品推荐
相关产品推荐

