JSON_LENGTH
📄字数 495
👁️阅读量 加载中...
功能描述
JSON的长度。
语法格式
sql
JSON_LENGTH( json_doc[, path] )
输入参数
json_doc
:JSON文本,JSON类型或字符类型。path
:路径表达式,字符类型。
输出结果
INTEGER类型。任意参数为NULL
时,输出结果为NULL
。
提示
- 标量长度为1。
- 数组长度为元素数量。
- 对象长度为对象成员数量。
- 长度不计算嵌套数组或嵌套对象长度。
- 以下情况将会抛出错误:
1.json_doc
是无效的JSON文本。
2.path
是无效的路径表达式。
示例
sql
-- 标量值的长度
SQL> SELECT JSON_LENGTH('1'),
JSON_LENGTH('true'),
JSON_LENGTH('false'),
JSON_LENGTH('"abc"');
+-------+-------+-------+-------+
| EXPR1 | EXPR2 | EXPR3 | EXPR4 |
+-------+-------+-------+-------+
| 1 | 1 | 1 | 1 |
+-------+-------+-------+-------+
-- JSON数组的长度
SQL> SELECT JSON_LENGTH('[]'),
JSON_LENGTH('[1, 2]'),
JSON_LENGTH('[1, {"x": 2}]');
+-------+-------+-------+
| EXPR1 | EXPR2 | EXPR3 |
+-------+-------+-------+
| 0 | 2 | 2 |
+-------+-------+-------+
-- JSON对象的长度
SQL> SELECT JSON_LENGTH('{"x": 1, "y": 2}'),
JSON_LENGTH('{"x": 1, "y": {"z" : 2}}');
+-------+-------+
| EXPR1 | EXPR2 |
+-------+-------+
| 2 | 2 |
+-------+-------+
-- 使用路径获取JSON数组的长度
SQL> SELECT JSON_LENGTH('{"x": 1, "y": [1, 2]}', '$.y');
+-------+
| EXPR1 |
+-------+
| 2 |
+-------+