Oracle WM_CONCAT()的替代方案(多行转单列) 20254583编辑

Heaven helps those who help themselves
资深码农+深耕理财=财富自由
欢迎关注

Oracle WM_CONCAT()的替代方案(多行转单列)

Created by Marydon on 2022-04-06 16:29

1.情景展示

在SQL当中,列转行是常用的数据查询操作之一;

以Oracle为例,我们可以使用合并列函数WM_CONCAT(),快速将多列转换成一行。

2.WM_CONCAT()

语法:

WM_CONCAT(列名)

SELECT TO_CHAR(WM_CONCAT(T7.OPERATION_NAME))
FROM BASEINFO_OPHISTORY T7
where T7.Org_Code = '410000117410';

 老版本的Oracle支持使用该函数;

但是,新版本Oracle已经将该函数去掉了,有没有替代办法?

3.解决方案

语法:

LISTAGG(列名, '间隔符') WITHIN GROUP(ORDER BY 列名)

优点:

可以自己指定间隔符号,也可以将列合成行前,按指定列进行排序。

SELECT LISTAGG(T7.OPERATION_NAME, ',') WITHIN GROUP(ORDER BY T7.OPERATION_NAME)
FROM BASEINFO_OPHISTORY T7
WHERE T7.ORG_CODE = '410000117410';

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

与君共勉:最实用的自律是攒钱,最养眼的自律是健身,最健康的自律是早睡,最改变气质的自律是看书,最好的自律是经济独立 。

您的一个点赞,一句留言,一次打赏,就是博主创作的动力源泉!

↓↓↓↓↓↓写的不错,对你有帮助?赏博主一口饭吧↓↓↓↓↓↓

posted @   Marydon  阅读(4583)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示
sorry,本博客所有代码禁止复制,原创代码需扫码支付方可获取!
关闭

1、先加好友再付费,点我加好友;

2、代码不能满足你的需求?加好友付费定制你的专属代码!

3、付费标准及方式,点我查看详情。