posgre的行列转换

来源:互联网 发布:win7加密文件夹,软件 编辑:程序博客网 时间:2024/06/05 16:06

posgre的行列转换

在使用数据库的过程中会出现一些需要对字段内的数据进行拆分行转化为列或者将一列数据转化为一行的处理,下面就把postgre内的两个函数进行说明。
1.列转行函数(string_agg)
select user_id,string_agg(name,'想要使用的分割符') from tmp group by user_id
初始数据

user_id name 1 a 1 b 1 c

达到效果

user_id name 1 a,b,c

2.行转列函数
select story_name,regexp_split_to_table(replace(keyword,',',','),',') as keyword from tmp
初始效果

user_id name 1 a,b,c

达到效果

user_id name 1 a 1 b 1 c

3.要返回的是数组的话, 那么可以用regexp_split_to_array

原创粉丝点击