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

本文介绍了SQL中字符串拼接的基本方法及其应用场景,包括简单的concat函数、带分隔符的concat_ws函数,并展示了如何结合collect_list、collect_set等聚合函数来整理用户购物清单,以便更好地分析用户行为。

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

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

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

Customerproduct
张三1啤酒+2纸尿裤
李四1手机+2无线耳机+3路由器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值