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

xn1cxnb4  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(354)

假设源表具有以下结构:

personid INT, 
name STRING,
mobilephone STRING,
homephone STRING

和目标表结构:

personid INT, 
telephone ARRAY<STRING>

要从源代码插入目标,我做了

select 
personid,
array(mobilephone, homephone)
from source_table

12, ["+1958523366","+1258523366"]
13, ["+1958523366",""]

结果中的第二行显示空字符串,因为 homephone 在源表中为空。如何返回这样的内容:

12, ["+1958523366","+1258523366"]
13, ["+1958523366"]

i、 e.仅当不为空时返回数组中的项

pvabu6sv

pvabu6sv1#

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

相关问题