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

2023年 4月 29日 48.7k 0

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

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论