Oracle同一字段用逗号分隔(列转行)

--分组加排序,数据量大时结果会比较慢
SELECT listagg(t.ename,',') WITHIN GROUP(ORDER BY t.sal) FROM scott.emp t;
SELECT listagg(t.ename,';') WITHIN GROUP(ORDER BY t.sal) FROM scott.emp t;


--查询结果为CLOB
SELECT wm_concat_11g(t.ename) FROM scott.emp t ORDER BY t.sal;

来自 <https://www.cnblogs.com/henuyuxiang/p/12762299.html>
区别:
listagg WITHIN GROUP 和 wm_concat_11g
前者可以指定分隔符(逗号或者封号或者……)

posted @ 2021-09-02 11:19  梦幻&浮云%  阅读(2026)  评论(0编辑  收藏  举报