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类型。value
或json_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 |
+-------+