数据库中会遇到字段里面存的JSON结果的数据,那么如果我们想直接取到JSON里的值该怎么办呢?其实SQL自带的函数就可解决
未嵌套的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,内容如下:文章来源:https://www.toymoban.com/news/detail-694233.html
{"name":"zhangsan","age":28,"class":1,"other":{"book":"钢铁是怎样练成","music":"我记得"}}
要取出其他信息中歌曲名的话,如下面这样写:文章来源地址https://www.toymoban.com/news/detail-694233.html
select JSON_UNQUOTE(JSON_EXTRACT(info, '$.other.music')) from TableA;
到了这里,关于如何用SQL取出字段内是json体的数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!