发现现在网上出现的sql函数都不能满足开发需求,主要原因还是vertica数据库的资料不多,可参考的资料还是最流行的几个数据库进行试用,现对vertica数据库如何实现列拼接进行展示:
STRCAT函数
注意:在vertica数据使用strcat函数时字段类型一定要是varchar类型,否则容易造成数据库宕机。如果是字段类型为非varchar类型,可以先使用to_char进行转换
首先创建表结构:
create table tb_test(
aa varchar(3)
,bb varchar(3)
)
插入语句:
insert into tb_test values(1,1);
insert into tb_test values(1,2);
insert into tb_test values(1,3);
insert into tb_test values(2,3);
insert into tb_test values(3,3);
sql实现结果值:
select
aa
,strcat(bb) over(partition by aa order by bb) cc
from tb_test
如果你需要顺序拼接,order by后面的排序要写清楚(根据个人需要实现)
结果值:
aa | cc |
1 | 1,2,3 |
2 | 3 |
3 | 3 |