SelectDB Enterprise
参考手册
SQL 函数
标量函数
JSON 函数
JSON_CONTAINS

JSON_CONTAINS

描述

用于判断一个 JSON 文档是否包含指定的 JSON 元素。如果指定的元素存在于 JSON 文档中,则返回 1,否则返回 0。如果 JSON 文档或查询的元素无效,则返回 NULL

语法

JSON_CONTAINS(<json_str>, <candidate> [, <json_path>])

必选参数

参数描述
<json_str>需要检查的 JSON 字符串。
<candidate>用于检查是否包含的 JSON 元素。

可选参数

参数描述
<json_path>可选的 JSON 路径,指定检查的 JSON 子文档。如果不提供,默认为根文档。

返回值

  • 如果 json_elem 存在于 json_doc 中,则返回 1。
  • 如果 json_elem 不存在于 json_doc 中,则返回 0。
  • 如果任何参数无效或 JSON 文档格式不正确,则返回 NULL。

示例

 
SET @j = '{"a": 1, "b": 2, "c": {"d": 4}}';
SET @j2 = '1';
SELECT JSON_CONTAINS(@j, @j2, '$.a');
 
 
+-------------------------------+
| JSON_CONTAINS(@j, @j2, '$.a') |
+-------------------------------+
|                             1 |
+-------------------------------+
 
 
SELECT JSON_CONTAINS(@j, @j2, '$.b');
+-------------------------------+
| JSON_CONTAINS(@j, @j2, '$.b') |
+-------------------------------+
|                             0 |
+-------------------------------+
 
 
SET @j2 = '{"d": 4}';
SELECT JSON_CONTAINS(@j, @j2, '$.a');
 
 
+-------------------------------+
| JSON_CONTAINS(@j, @j2, '$.a') |
+-------------------------------+
|                             0 |
+-------------------------------+
 
SELECT JSON_CONTAINS(@j, @j2, '$.c');
 
 
+-------------------------------+
| JSON_CONTAINS(@j, @j2, '$.c') |
+-------------------------------+
|                             1 |
+-------------------------------+
 
 
SELECT json_contains('[1, 2, {"x": 3}]', '1');
+----------------------------------------+
| json_contains('[1, 2, {"x": 3}]', '1') |
+----------------------------------------+
|                                      1 |
+----------------------------------------+
 
© 2025 北京飞轮数据科技有限公司 京ICP备2022004029号 | Apache、Apache Doris 以及相关开源项目名称均为 Apache 基金会商标