JSON 函数支持说明

最近更新时间:2026-06-30 16:45:31

我的收藏
只读分析实例支持符合 RFC 7159标准的 JSON(JavaScript Object Notation)数据类型。用户可以保存半结构化的 JSON 数据,并对 JSON 文档中的数据进行访问和修改。
存储在 JSON 列中的 JSON 文档,会被转换为便于快速读取和访问的二进制格式。读取 JSON 值时无需重新从文本进行解析。
除了 JSON 数据类型,只读分析实例还提供一组 SQL 函数,用于对 JSON 值进行创建、查询、修改等操作。具体支持的函数如下。

JSON_OBJECT 函数

根据入参创建一个 JSON 对象。
语法JSON_OBJECT(key1, value1, key2, value2, ...)

JSON_REMOVE 函数

从指定 JSON 文档中删除一个或多个路径对应的元素。
语法JSON_REMOVE(json_doc, path [, path] ...)
json_doc:JSON 字段。
path:要删除的路径,支持指定多个。

JSON_EXTRACT 函数

从 JSON 文档中提取指定路径的元素。如果指定的路径不存在,则返回 NULL。可指定多个 path,匹配到的多个值会以数组形式返回。
语法JSON_EXTRACT(json_doc, path [, path] ...),等价于 column -> path
json_doc:JSON 字段。
path:要提取的路径。

JSON_UNQUOTE 函数

去除 JSON 值的引号,并以字符串形式输出。
语法JSON_UNQUOTE(column -> path),等价于 column ->> path
column:JSON 字段。
path:要提取的路径。

JSON_CONTAINS 函数

判断指定 path 是否包含指定数据。包含返回1,不包含返回0。如果任一参数为 NULL,或 path 不存在,则返回 NULL。
语法JSON_CONTAINS(json_doc, candidate [, path])
json_doc:JSON 字段。
candidate:用于判断的值。
path:路径,可选。

JSON_CONTAINS_PATH 函数

检查 JSON 文档中是否存在指定路径。存在返回1,不存在返回0。如果任一参数为 NULL,则返回 NULL。
语法JSON_CONTAINS_PATH(json_doc, one_or_all, path [, path] ...)
json_doc:JSON 字段。
one_or_all:取值为 oneallone 表示任意一个路径存在即返回1;all 表示所有路径都存在才返回1。
path:路径,支持指定多个。

类型转换

支持将 JSON 转换为 INT、UINT、FLOAT、STRING、DATE、DATETIME、DURATION 类型。
支持将 INT、UINT、FLOAT、STRING、DATE、DATETIME、DURATION 类型转换为 JSON。