json_array_length:JSON数组长度
速查结论
json_array_length(jsonArray) 是 Spark SQL 中用于返回最外层 JSON 数组中元素数量的函数。
语法
json_array_length(jsonArray)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| jsonArray | STRING | 一个 JSON 数组字符串。如果输入是任何其他有效的 JSON 字符串、NULL 或无效的 JSON,则返回 NULL |
示例
> SELECT json_array_length('[1,2,3,4]');
4
> SELECT json_array_length('[1,2,3,{"f1":1,"f2":[5,6]},4]');
5
> SELECT json_array_length('[1,2');
NULL
常见报错与避坑指南
- 该函数仅计算最外层数组的元素数,嵌套的内层数组不计入长度。
- 无效的 JSON 或非数组类型的有效 JSON(如
'{"a":1}')会返回 NULL,不会抛出异常,注意在数据质量较差的场景中排查 NULL 值。 - 输入为空字符串也会返回 NULL,而不是 0。
Since: 3.1.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
