在 Hive 中合并 returns null

Coalesce in Hive returns null

我想取第一个非缺失值:

它不能正常工作

,coalesce(var1,var2,var3) 

虽然

var1=null
var2=null
var3=variable

由于合并,我得到了 null。

两种可能。首先是三个都是null。您可以通过添加第四个默认值来测试它是否被选中。

我怀疑是第二种可能性——null 真的是 'null'。如果是这样,coalesce()将不会直接起作用。

如果是这种情况,您可以使用 nullif()case 表达式:

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