Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


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     |
+-------+