coalesce-in-hive返回null

kkbh8khc  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(593)

我要取第一个非缺失值:
它不能正常工作

,coalesce(var1,var2,var3)

尽管

var1=null
var2=null
var3=variable

由于合并,我得到了空值。

vcirk6k6

vcirk6k61#

两种可能性。首先,这三个都是 null . 您可以通过添加第四个默认值来测试这一点,以查看是否选中了该值。
我的怀疑是第二种可能性 null 是真的吗 'null' . 如果是的话, coalesce() 不会直接起作用。
如果是这样的话,你可以用 nullif() 或者 case 表达式:

coalesce(case when var1 <> 'null' then var1 end), 
         case when var2 <> 'null' then var2),
         var3)

相关问题