hive sql中的字符组合/字符拼接函数

1.简单拼接
Concat(str1,str2,str3,……) 函数返回结果为函数中的几个参数连接组成的字符串,如果参数中有一个为null,则返回值为null。
Eg: select concat(‘每天’,’都要’,’开心’)
Result:’每天都要开心’ ;

2.可自定义拼接时的间隔符
concat_ws(separater,str1,str2,str3,……) ,第一个参数为其他参数的分隔符,分隔符放在要连接的两个字符之间,分隔符可以是一个字符也可以是其它参数。
Eg: select concat(‘+’,‘每天’,’都要’,’开心’)
Result:’每天+都要+开心’ ;

3.concat_ws()函数常常和collect_list()和collect_set()组合使用,对于电商公司而言可以很好的了解顾客组合购置商品的情况,为运营做组合套餐方案提供数据支持。
Collect_list()和collect_set()可以将分组中的某列转换为一个数组,其中Collect_list()返回一个列表,collect_set()返回一个集合,collect_set()可实现对某列中的元素进行去重;
Sort_array()函数可以对列表中的内容进行排序,默认升序;

Eg:定义一个顾客购买产品清单表table

Customer product
张三 1啤酒
张三 2纸尿裤
李四 1手机
李四 2无线耳机
李四 3路由器

Select Customer,Concat_ws(“+”,sort_array(collect_set(product))) as zuhe from table group by Customer;
Result:

Customer product
张三 1啤酒+2纸尿裤
李四 1手机+2无线耳机+3路由器

你可能感兴趣的:(hive,sql)