1.情景展示
在SQL当中,列转行是常用的数据查询操作之一;
以Oracle为例,我们可以使用合并列函数WM_CONCAT(),快速将多列转换成一行。
2.WM_CONCAT()
语法:
WM_CONCAT(列名)
老版本的Oracle支持使用该函数;
但是,新版本Oracle已经将该函数去掉了,有没有替代办法?
3.解决方案
语法:
LISTAGG(列名, ‘间隔符’) WITHIN GROUP(ORDER BY 列名)
优点:
可以自己指定间隔符号,也可以将列合成行前,按指定列进行排序。
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
作者:Marydon