MySQL中json_extract()函数的使用
作用:截取数据库中指定字段中存储的json数据中的某个字段对应的值
要做做什么?(根据数据库中相关表字段中存储的json格式的数据,然后以SQL语句的形式取出其中指定key对应的值,最终整理汇总为一张视图供以后的方便使用)
一、初始化
1、初始化表结构
2、插入相关数据
二、执行json_extract()
1、使用json_extract()来处理数据
2、使用方式
$ . paramsName:取出一个key对应的value。$ **.paramsName 、$ .[*].paramsName:取出json数组所有该字段key对应的value并以,的方式拼接在一起
MySql中json_extract函数的一个特殊之处
MySql自5.7之后开始支持json类型,相应的解析函数主要是json_extract(与操作符“->”等效)。
不过与其它数据库的类似函数(如oradle的json_value)相比,当json的值是字符类型时,json_extract的结果略有不同。
在MySql中,是这样的
而在Oracle中,是这样的
可见,差别在于MySql的json_extract的返回值会带上两个双引号。
而当json的值是数值型时,没有差别。
为保持各种情况下的一致,在MySql中要解析json,还需再加上json_unquote函数以去掉双引号:
json_unquote(json_extract())的等效操作符是“->>”。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。