Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


MEMBER OF

📄字数 653
👁️阅读量 加载中...

功能描述

  • 如果json_doc是JSON数组,则判断value值是否为JSON数组的元素,是则返回1,不是则返回0。
  • 如果json_doc不是JSON数组,则判断value值与JSON值是否一致,一致返回1,不一致返回0。

语法格式

sql
value MEMBER OF(json_doc)

输入参数

  • value:类型取值为NULL、布尔型、数值型、自定义类型(OBJECT、VARRAY、TABLE)、JSON类型以及其他能转换成字符型的类型。

  • json_doc: JSON类型或者可转换为JSON类型的数据类型。

输出结果

INTEGER类型。valuejson_value是NULL时,输出结果为NULL。

示例

sql
-- 数值类型
SQL> SELECT 1.23 MEMBER OF('[1, 1.23, "abc", true, null]');

+-------+
| EXPR1 |
+-------+
| 1     |
+-------+

-- 字符类型
SQL> SELECT 'abc' MEMBER OF('[1, 1.23, "abc", true, null]');

+-------+
| EXPR1 |
+-------+
| 1     |
+-------+

-- 布尔类型
SQL> SELECT true MEMBER OF('[1, 1.23, "abc", true, null]');

+-------+
| EXPR1 |
+-------+
| 1     |
+-------+

-- null值
SQL> SELECT null MEMBER OF('[1, 1.23, "abc", true, null]');

+--------+
| EXPR1  |
+--------+
| <NULL> |
+--------+

SQL> SELECT CAST('null' AS JSON) MEMBER OF('[1, 1.23, "abc", true, null]');

+-------+
| EXPR1 |
+-------+
| 1     |
+-------+

-- value为字符串且json_doc为非JSON数组
SQL> SELECT '{"a": 123}' MEMBER OF('{"a": 123}');

+-------+
| EXPR1 |
+-------+
| 0     |
+-------+

-- value为JSON类型且json_doc为非JSON数组
SQL> SELECT CAST('{"a": 123}' AS JSON) MEMBER OF('{"a": 123}');

+-------+
| EXPR1 |
+-------+
| 1     |
+-------+