跳到主要内容

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

Since: 1.5.0

📱关注公众号

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

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

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

交流微信二维码

你可能还想看