详解如何用SQL取出字段内是json的数据
作者:hnfangh
数据库中会遇到字段里面存的JSON结果的数据,那么如果我们想直接取到JSON里的值该怎么办呢?其实SQL自带的函数就可解决本文就详细的给大家介绍了如何用SQL取出字段内是json的数据,需要的朋友可以参考下
未嵌套的Json取值
假如现在有表TableA,其中一个字段叫info,字段内容如下:
{"name":"zhangsan","age":28,"class":1}
使用JSON_EXTRACT()函数取出name的话,写法如下:
select JSON_EXTRACT(info, '$.name') from TableA;
但取值有一个问题,就是取出来如果是字符串,字符串的两边会带有双引号。那么如何去掉双引号?
使用JSON_UNQUOT()写法如下:
select JSON_UNQUOTE(JSON_EXTRACT(info, '$.name')) from TableA;
嵌套的Json取值
有嵌套JSON的话,只需要加“.”即可,比如有一个字段info,内容如下:
{"name":"zhangsan","age":28,"class":1,"other":{"book":"钢铁是怎样练成","music":"我记得"}}
要取出其他信息中歌曲名的话,如下面这样写:
select JSON_UNQUOTE(JSON_EXTRACT(info, '$.other.music')) from TableA;
到此这篇关于详解如何用SQL取出字段内是json的数据的文章就介绍到这了,更多相关SQL取出json的数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!