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

被折叠的 条评论
为什么被折叠?



