JSON_LENGTH
功能描述
JSON对象的长度。
语法格式
JSON_LENGTH( json_doc[, path] )
参数说明
json_doc:JSON目标文档,JSON类型或JSON String类型。
path:路径表达式,字符类型。
说明:
- 如果任何参数为NULL则返回NULL。
- 标量长度为1。
- 数组长度为元素数量。
- 对象长度为对象成员数量。
- 长度不计算嵌套数组或对象长度。
- json_doc不为有效JSON文本或path不为有效路径表达式 或 路径表达式中包含 * 或 ** 通配符,都将抛出错误。
函数返回类型
JSON数值类型
示例
sql
SQL> SELECT TO_CHAR(JSON_LENGTH('{"a": 1, "b": 2}', '$'));
EXPR1 |
------------------------------------------------------------------------------
2|
-- 值的长度
SQL> SELECT TO_CHAR(JSON_LENGTH('1')),
TO_CHAR(JSON_LENGTH('true')),
TO_CHAR(JSON_LENGTH('false')),
TO_CHAR(JSON_LENGTH('"abc"'));
EXPR1 | EXPR2 | EXPR3 | EXPR4 |
------------------------------------------------------------------------------
1| 1| 1| 1|
-- 数组的长度
SQL> SELECT
TO_CHAR(JSON_LENGTH('[]')),
TO_CHAR(JSON_LENGTH('[1, 2]')),
TO_CHAR(JSON_LENGTH('[1, {"x": 2}]'));
EXPR1 | EXPR2 | EXPR3 |
------------------------------------------------------------------------------
0| 2| 2|
-- 对象的长度
SQL> SELECT
TO_CHAR(JSON_LENGTH('{"x": 1, "y": 2}')),
TO_CHAR(JSON_LENGTH('{"x": 1, "y": {"z" : 2}}'));
EXPR1 | EXPR2 |
------------------------------------------------------------------------------
2| 2|
-- 路径
SQL> SELECT TO_CHAR(JSON_LENGTH('{"x": 1, "y": [1, 2]}', '$.y'));
EXPR1 |
------------------------------------------------------------------------------
2|