当前位置 : 主页 > 数据库 > mysql >

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

来源:互联网 收集:自由互联 发布时间:2021-04-08
MySQL自5.7之后开始支持json类型,相应的解析函数主要是json_extract(与操作符-等效)。 不过与其它数据库的类似函数(如oradle的json_value)相比,当json的值是字符类型时,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())的等效操作符是“->>”。

网友评论