Oracle 提供了兩個函數(shù)wmsys.wm_concat 和 LISTAGG函數(shù)供屉。
wmsys.wm_concat??
??????wmsys.wm_concat是Oracle?10g推出的,用來連接字符串,wmsys.wm_concat()中的參數(shù)也可以使多個精盅,使用”||”拼接,如下例子:select deptno,wmsys.wm_concat(ename || '-' || job) name from emp group by deptno;
LISTAGG
????????LISTAGG是Oracle?11g推出的胸蛛,它的作用和wmsys.wm_concat是一樣昏名。基礎(chǔ)語法:LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)视哑。用法就像聚合函數(shù)一樣绣否,通過Group by語句,把每個Group的一個字段挡毅,拼接起來蒜撮。非常方便。
????????同樣是聚合函數(shù)跪呈,還有一個高級用法:就是over(partition by XXX)段磨,也就是說,在你不使用Group by語句時候耗绿,也可以使用LISTAGG函數(shù):
使用實例:
結(jié)果: