coalesce:首个非空值
速查结论
coalesce(expr1, expr2, ...) 是 Spark SQL 中用于返回参数列表中第一个非 NULL 值的函数。
语法
coalesce(expr1, expr2, ...)
参数说明
| 参数 | 说明 |
|---|---|
| expr1, expr2, ... | 一个或多个表达式,按顺序依次检查是否为 NULL。 |
返回说明
如果存在非空参数,则返回第一个非空参数的值。如果所有参数均为 NULL,则返回 NULL。
示例
> SELECT coalesce(NULL, 1, NULL);
1
常见报错与避坑指南
- 所有参数均为 NULL:如果所有参数都是 NULL,coalesce 返回 NULL,注意处理下游逻辑。
- 参数类型一致性:各参数类型应保持一致或可隐式转换,否则可能发生类型提升导致意外结果。
- 与 ifnull/nvl 的区别:
coalesce支持多个参数,而ifnull/nvl仅支持两个参数。如需处理多个候选值,应使用 coalesce。
Since: 1.0.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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