最近做用户标签,在统计用户在地域浏览信息时,需要用到concat_ws('|', collect_set())链接函数,group by生成的这个字段有部分空值,简单的在标签外加了一层nvl()设置null值的默认值,发现空值仍然存在,函数处理方式如下:
nvl(concat_ws('|',collect_set(a.city_name )), '?')
经查询,发现concat_ws('|',collect_set(a.city_name ))处理后的字段为'',空字符,而非null值,故不能使用nvl()处理,如下处理后,问题解决:
case when concat_ws('|',collect_set(a.city_name )) = '' then '?' else concat_ws('|',collect_set(a.city_name )) end