关于MySql中json_extract函数的一个特殊之处

时间:2022-12-27 16:01:51

MySql自5.7之后开始支持json类型,相应的解析函数主要是json_extract(与操作符“->”等效)。

不过与其它数据库的类似函数(如oradle的json_value)相比,当json的值是字符类型时,json_extract的结果略有不同。

在MySql中,是这样的:

关于MySql中json_extract函数的一个特殊之处

而在Oracle中,是这样的:

关于MySql中json_extract函数的一个特殊之处

可见,差别在于MySql的json_extract的返回值会带上两个双引号。

而当json的值是数值型时,没有差别。

关于MySql中json_extract函数的一个特殊之处

关于MySql中json_extract函数的一个特殊之处

为保持各种情况下的一致,在MySql中要解析json,还需再加上json_unquote函数以去掉双引号:

关于MySql中json_extract函数的一个特殊之处

 json_unquote(json_extract())的等效操作符是“->>”。