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('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
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
SQL> SELECT
TO_CHAR(JSON_LENGTH('{"x": 1, "y": 2}')),
TO_CHAR(JSON_LENGTH('{"x": 1, "y": {"z" : 2}}'));
EXPR1 | EXPR2 |
------------------------------------------------------------------------------
2| 2|
路径
sql
SQL> SELECT TO_CHAR(JSON_LENGTH('{"x": 1, "y": [1, 2]}', '$.y'));
EXPR1 |
------------------------------------------------------------------------------
2|