假设需要合并EMP表中相同JOB人员的ENAME与MGR字段;
SELECT E.JOB,E.ENAME,E.MGR FROM EMP E;

1.可以使用WM_CONCAT函数来实现:
SELECT E.JOB,WMSYS.WM_CONCAT(E.ENAME),WMSYS.WM_CONCAT(E.MGR) FROM EMP E GROUP BY E.JOB;

2.也可以使用LISTAGG() WITHIN GROUP ()函数来实现:
SELECT E.JOB,
LISTAGG(E.ENAME, ',') WITHIN GROUP(ORDER BY JOB) AS ENAME,
LISTAGG(E.MGR, ',') WITHIN GROUP(ORDER BY JOB) AS MGR
FROM EMP E
GROUP BY JOB;

注意:ORACLE12C中不能使用WM_CONCAT函数。
某个字段后补充内容(字段后补充新内容):
UPDATE TEMP T SET T.DATE=T.DATA||'NEWSTR' WHERE T.ID='A100000001';
本文介绍如何在Oracle数据库中使用WM_CONCAT函数和LISTAGG()函数合并EMP表中相同JOB的ENAME与MGR字段。提供了两种实现方法,并指出在Oracle 12C中无法使用WM_CONCAT函数。
2272

被折叠的 条评论
为什么被折叠?



