跳到主要内容

JSON_PATH_EXISTS

引入或更新于:v1.2.119

检查 JSON 数据中是否存在指定的路径 (path)。

语法

JSON_PATH_EXISTS(<json_data>, <json_path_expression>)
  • json_data:指定要搜索的 JSON 数据。它可以是 JSON 对象或数组。

  • json_path_expression:指定要在 JSON 数据中检查的路径,该路径从表示 JSON 数据根节点 (root) 的 $ 开始。你还可以在表达式中包含条件,使用 @ 来引用当前正在评估的节点 (node) 或元素 (element),以筛选结果。

返回类型

该函数返回:

  • 如果指定的 JSON 路径(以及任何条件)存在于 JSON 数据中,则返回 true
  • 如果指定的 JSON 路径(以及任何条件)不存在于 JSON 数据中,则返回 false
  • 如果 json_data 或 json_path_expression 为 NULL 或无效,则返回 NULL。

示例

SELECT JSON_PATH_EXISTS(parse_json('{"a": 1, "b": 2}'), '$.a ? (@ == 1)');

----
true


SELECT JSON_PATH_EXISTS(parse_json('{"a": 1, "b": 2}'), '$.a ? (@ > 1)');

----
false

SELECT JSON_PATH_EXISTS(NULL, '$.a');

----
NULL

SELECT JSON_PATH_EXISTS(parse_json('{"a": 1, "b": 2}'), NULL);

----
NULL
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验