ORACLE字符串连接分组串聚函数 wmsys.wm_concat
SQL代码:
select grp, wmsys.wm_concat(str) from (select 1 grp, 'a1' str from dual union select 1 grp, 'a2' str from dual union select 2 grp, 'b1' str from dual union select 2 grp, 'b2' str from dual union select 2 grp, 'b3' str from dual) t group by grp
执行效果:
原始数据 | 分组聚合后 |
注意事项:
1.WMSYS用户用于Workspace Manager,函数对象可能因版本而不同,正常如我们预料的一样返回的是varchar2类型,但在11.2.0.3版本中其返回类型为CLOB,这是我们需要预知的,正是因此oracle并不推荐使用这个函数。
2.如果你的版本变化不大,可以这么使用。当然我们也可以根据这个实现原型,实现自己的函数, 解决因版本变化导致返回数据类型不同的意外。