用法1:
使用函数CONCAT_WS()。使用语法为:CONCAT_WS(separator,str1,str2,…)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。但是CONCAT_WS()不会忽略任何空字符串。(然而会忽略所有的 NULL)。
如SELECT CONCAT_WS('_',id,name) AS con_ws FROM info LIMIT 1;返回结果为
+----------+
| con_ws|
+----------+
| 1_BioCyc |
+----------+
用法2:
将数组字段转字符串
环境:
1. hive版本0.13.0
2. 表test_array有数组字段例如:
select c_array from test_arraywhere dt='-09-26' and size(c_array)=2 limit 2;
["105750","1246345","907964"]
["935105","359772","935104"]
3.转为字符串:
select concat_ws(',',c_array) fromtest_arraywhere dt='-09-26' and size(c_array)=2 limit 2;
105750,1246345,907964
935105,359772,935104
参考:/gongmf/article/details/52680748