JSON_LENGTH
描述
该函数返回 JSON 文档的长度。如果给出了 path 参数,则返回由路径标识的文档中值的长度。
语法
JSON_LENGTH(json_doc[, path])
说明
json_doc 参数用于指定 JSON 文档,path 为路径参数。如果任何参数为 NULL 或 path 参数未标识文档中的值,则返回 NULL。
以下情况都会发生报错:
-
json_doc参数不是有效的 JSON 文档。 -
path参数不是有效的路径表达式。 -
path参数包含 * 或 ** 通配符。
JSON 文档的长度定义如下:
-
标量的长度为 1。
-
数组的长度是数组元素的数量。
-
对象的长度是对象成员的数量。
-
不计算嵌套数组或对象的长度。
示例
SELECT JSON_LENGTH('[1, 2, {"a": 3}, 4]');
+------------------------------------+
| JSON_LENGTH('[1, 2, {"a": 3}, 4]') |
+------------------------------------+
| 4 |
+------------------------------------+
1 row in set (0.001 sec)
SELECT JSON_LENGTH('{"a": 1, "b": {"c": 303}}');
+------------------------------------------+
| JSON_LENGTH('{"a": 1, "b": {"c": 303}}') |
+------------------------------------------+
| 2 |
+------------------------------------------+
1 row in set (0.001 sec)
SELECT JSON_LENGTH('{"a": 1, "b": {"c": 30}}', '$.b');
+------------------------------------------------+
| JSON_LENGTH('{"a": 1, "b": {"c": 30}}', '$.b') |
+------------------------------------------------+
| 1 |
+------------------------------------------------+
1 row in set (0.001 sec)