跳到主要内容

nanvl:NaN替换

速查结论

nanvl(expr1, expr2) 是 Spark SQL 中用于当表达式为 NaN 时返回替代值的函数。

语法​

nanvl(expr1, expr2)

参数说明​

参数说明
expr1主数值表达式(浮点类型)。
expr2当 expr1 为 NaN 时的替代值。

返回说明​

如果 expr1 不是 NaN,则返回 expr1;否则返回 expr2。

示例​

> SELECT nanvl(cast('NaN' as double), 123);
123.0

常见报错与避坑指南​

  • 仅处理 NaN,不处理 NULL:nanvl 仅在 expr1 为 NaN 时替换为 expr2,如果 expr1 为 NULL,结果也为 NULL。需同时处理 NULL 和 NaN 时,可与 coalesce 配合使用:coalesce(nanvl(expr, 0), 0)。
  • 返回类型:返回值类型与两个输入参数的类型保持一致,确保 expr1 和 expr2 类型兼容。

Since: 1.5.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

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

交流微信二维码

你可能还想看