逍遥谷

记录日常的点点滴滴

0%

Postgresql行列转换

环境

Postgresql 9.4.4

列转行

  1. 查询某表数据
1
2
3
4
5
6
7
8
select * from test;

name
------
AA
BB
CC
(3 rows)
  1. 列转行(string_agg)
1
2
3
4
5
6
select string_agg(name,',') from test;

string_agg
------------
AA,BB,CC
(1 row)

行转列

  1. 查询测试表数据
1
2
3
4
5
6
select * from test;

name
-----------
A,B,C,D,E
(1 row)
  1. 行转列(regexp_split_to_table)
1
2
3
4
5
6
7
8
9
10
select regexp_split_to_table(name,',') from test;

regexp_split_to_table
-----------------------
A
B
C
D
E
(5 rows)