Sql 配置单元数组中的非空字符串

Sql 配置单元数组中的非空字符串,sql,hive,hiveql,Sql,Hive,Hiveql,假设源表具有以下结构: personid INT, name STRING, mobilephone STRING, homephone STRING personid INT, telephone ARRAY<STRING> 和目标表结构: personid INT, name STRING, mobilephone STRING, homephone STRING personid INT, telephone ARRAY<STRING> 结果中的第二

假设源表具有以下结构:

personid INT, 
name STRING,
mobilephone STRING,
homephone STRING
personid INT, 
telephone ARRAY<STRING>
和目标表结构:

personid INT, 
name STRING,
mobilephone STRING,
homephone STRING
personid INT, 
telephone ARRAY<STRING>
结果中的第二行显示空字符串,因为
homephone
在源表中为空。如何返回类似以下内容:

12, ["+1958523366","+1258523366"]
13, ["+1958523366"] 
i、 e.仅当不为空时返回数组中的项

select 
personid,
split(concat_ws(',',mobilephone,homephone),',')
from source_table