Hive:COALESCE函数
语法
COALESCE(T v1, T v2, …)
- 返回参数中的第一个非空值;
- 如果所有值都为NULL,那么返回NULL。
查询非空值
select coalesce(a,b,c);
如果a为null,则选择b;如果b为null,则选择c;
如果a!=null,则选择a;
如果a、 b 、c 都为null,则返回为null。
为空值返回0
这个参数使用的场合为:假如某个字段默认是null,你想其返回的不是null,而是比如0或其他值,可以使用这个函数
SELECT COALESCE(field_name,0) as value from table;
coalesce函数的参数,可以是:
- 列字段
- 列字段的运算表达式
- 常数,如0、1
- 各种自带函数,如SYSDATE()
select coalesce(NULL,'b','c');
select coalesce(NULL,1,'b');
select coalesce(NULL,SYSDATE() ,'b');