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

posted @ 2019-03-15 11:36  闻歌感旧  阅读(9861)  评论(0编辑  收藏  举报