TDSQL Boundless JSON 函数支持说明

只读分析实例支持符合 RFC 7159标准的 JSON(JavaScript Object Notation)数据类型。用户可以保存半结构化的 JSON 数据,并对 JSON 文档中的数据进行访问和修改。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

存储在 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:取值为 one 或 all。one 表示任意一个路径存在即返回1;all 表示所有路径都存在才返回1。

·path:路径,支持指定多个。

七、类型转换

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

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

赞 (0)
上一篇 4天前
下一篇 4天前