首页 > 解决方案 > 替换空值

问题描述

如果我正在使用

select coalesce(firstname, surname, petname) as column_name


select isnull(firstname, surname) as column_name

所有返回第一个非空列的地方,如果所有列都为空,我该如何分配用什么来替换输出中的空值?

通常如下所示,仅检查一列,我知道如果为空,我可以插入值,如下所示

 select coalesce(column_name, "value if null") as column_name

另外,COALESCE 和 ISNULL 可以互换使用吗?

谢谢!

标签: sqlpresto

解决方案


Presto 没有isnull功能。

Presto 确实有

  • coalesce采用任意数量参数的语法;它不是一个函数,因为它保证参数是惰性求值的
  • nullif恰好采用 2 个参数的语法,否则等价于coalesce

推荐阅读