hive 判空处理的三种处理方法
CASE WHEN
语法
CASE Statement
使用
- 方式一
SELECT CASE opt_date --简单case函数:写法简洁
WHEN "年" THEN 1
WHEN "月" THEN 0
ELSE 0
END AS date_type
FROM cl_ods.ods_erp_income_di
LIMIT 10;
- 方式二
SELECT CASE --case搜索函数:功能更强
WHEN opt_date="年" THEN 1
WHEN opt_date="月" THEN 0
ELSE 0
END AS date_type
FROM cl_ods.ods_erp_income_di
LIMIT 10;
说明
该语法可以与某字段多个比较值的判断,并分别产生不同结果,与其他语言中case语法相似
COALESCE
语法
COALESCE( value1,value2,… )
使用
select
coalesce(NULL,3,5,NULL) as N_NULL, coalesce(NULL,NULL,NULL) AS Y_NULL;
说明
该函数用来获取参数列表中的首个非空值,若均为NULL,则返回NULL
IF
语法
IF( Test Condition, True Value, False Value )
使用
SELECT if(opt_date IS NULL,1,0) AS date_type
FROM cl_ods.ods_erp_income_di
LIMIT 10;
说明
该语法只能用来判断单个条件
参考:
https://blog.csdn.net/u012378570/article/details/62216722
https://www.cnblogs.com/aipan/p/7770611.html