coalesce-in-hive返回null

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

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

  1. ,coalesce(var1,var2,var3)

尽管

  1. var1=null
  2. var2=null
  3. var3=variable

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

vcirk6k6

vcirk6k61#

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

  1. coalesce(case when var1 <> 'null' then var1 end),
  2. case when var2 <> 'null' then var2),
  3. var3)

相关问题