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. 效果圖
- 一列變多行
- 多行變一行
參考
- https://www.jianshu.com/p/75c443d29538