跳到主要内容

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真题

交流微信二维码

你可能还想看