JSON_DEPTH
📄字数 426
👁️阅读量 加载中...
功能描述
返回JSON文本最大深度。
语法格式
sql
JSON_DEPTH( json_doc )
输入参数
json_doc
:JSON文本,JSON类型或字符类型。
输出结果
INTEGER类型。任意参数为NULL
时,输出结果为NULL
。
提示
- 空数组、空对象或标量值的深度为1。
- 包含深度为1元素的非空数组,或仅包含深度为1成员的非空对象,深度为2。
- 除上述情况外,其他
json_doc
深度大于2。
示例
sql
-- 空数组、空对象或标量值
SQL> SELECT JSON_DEPTH('{}'), JSON_DEPTH('[]'), JSON_DEPTH('1');
+-------+-------+-------+
| EXPR1 | EXPR2 | EXPR3 |
+-------+-------+-------+
| 1 | 1 | 1 |
+-------+-------+-------+
-- 包含深度为1元素的非空数组,或仅包含深度为1成员的非空对象。
SQL> SELECT JSON_DEPTH('[1, 2]'), JSON_DEPTH('{"x": 1}');
+-------+-------+
| EXPR1 | EXPR2 |
+-------+-------+
| 2 | 2 |
+-------+-------+
-- 包含深度超过1的元素的数组,所有成员的值的深度超过1的对象。
SQL> SELECT JSON_DEPTH('[1, [2, 3]]'), JSON_DEPTH('{"x": {"y": 1}}'), JSON_DEPTH('{"x": {"y": {"z": 1}}}');
+-------+-------+-------+
| EXPR1 | EXPR2 | EXPR3 |
+-------+-------+-------+
| 3 | 3 | 4 |
+-------+-------+-------+