Postgresql一行变多行unnest与string_to_array,多行变一行string_agg
1. 源码
-- 创建表
create table tb(id int,value varchar(30));
-- 插入数据
insert into tb values(1,'aa,bb');
insert into tb values(2,'aaa,bbb,ccc');
-- 原始数据
SELECT * FROM tb
-- 一行变多行
select id,unnest(string_to_array(value,',')) from tb;
-- 多行变一行
select string_agg(value,'') from tb;
2. 效果图
- 原始数据效果
-
一列变多行
-
多行变一行