天天看點

Postgresql一行變多行unnest與string_to_array,多行變一行string_aggPostgresql一行變多行unnest與string_to_array,多行變一行string_agg

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. 效果圖

  • 原始資料效果
Postgresql一行變多行unnest與string_to_array,多行變一行string_aggPostgresql一行變多行unnest與string_to_array,多行變一行string_agg
  • 一列變多行
    Postgresql一行變多行unnest與string_to_array,多行變一行string_aggPostgresql一行變多行unnest與string_to_array,多行變一行string_agg
  • 多行變一行
    Postgresql一行變多行unnest與string_to_array,多行變一行string_aggPostgresql一行變多行unnest與string_to_array,多行變一行string_agg

參考

  • https://www.jianshu.com/p/75c443d29538