postgresql-pg数据库中的列转行操作

在这里插入图片描述
首先需要知道一个函数:concat_ws

select ord,num,concat_ws('=',ord,num) from cx.over_test;

在这里插入图片描述


在这里插入图片描述
如果我们需要这样查询一条数据:
当给出一个数字,我们首先需要判断其是ord还是num,然后再取其对应的值的话,显示此时这个表就不满足了,我们必须将其转换为:

SELECT
	r,
	regexp_split_to_table( concat_ws ( ',', 'ord', 'num' ), ',' ) age_type,
	regexp_split_to_table(concat_ws(',',coalesce("ord",'1'),coalesce("num",1)),',') age_rate 
FROM
	cx.over_test;

在这里插入图片描述


版权声明:本文为m0_56981185原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。