Impala中编写Case语句实现地址字段拼接的SQL写法
Impala SQL 实现方案
你可以通过CASE WHEN条件判断直接实现需求,完整的查询语句如下:
select case when table1.column1 is null or table1.column1 = '' then table1.column2 else concat(table1.column1, ' ', table1.column2) end as address from table1;
简化写法参考
你也可以用Impala内置函数简化逻辑,两种写法效果完全一致:
select nvl(concat(nullif(table1.column1, ''), ' ', table1.column2), table1.column2) as address from table1;
- 逻辑说明:
nullif会将空字符串转为null,Impala的concat函数只要有一个入参为null就会返回null,最后用nvl判断返回column2即可。
内容的提问来源于stack exchange,提问作者Rocky
相关产品推荐
相关产品推荐

