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())的等效操作符是“->>”。