array_size:获取数组大小
速查结论
array_size(expr) 是 Spark SQL 中用于**返回数组的长度(元素个数)**的函数。
语法
array_size(expr)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| expr | ARRAY | 要计算大小的数组 |
返回值
返回数组的元素个数,类型为 INT。如果输入为 null,则函数返回 null。
示例
> SELECT array_size(array('b', 'd', 'c', 'a'));
4
常见报错与避坑指南
- null 输入返回 null:当传入的数组为 null 时,该函数返回 null,而非 0。如果需要将 null 视为空数组,请使用
COALESCE(array_size(col), 0)。 - 与 cardinality 的区别:
array_size仅适用于数组类型,而cardinality同时支持数组和 Map 类型。如果输入是 Map,请使用cardinality。
Since: 3.3.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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