Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Oracle把一列的值合并为一个值并用逗号分隔大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Oracle把一列的值合并为一个值,并用逗号分隔。

实例中将把部门表(DEPT表)与员工表(EMP表)关联,查询每个部门下的所有员工姓名,员工姓名之间以逗号分隔(如图一)。


图一:执行结果

1、WMSYs.WM_CONCAT(列名)函数

介绍:其函数在Oracle 10g推出,在10g版本中,返回字符串类型,在11g版本中返回clob类型。括号里面的参数是列,而且可以是多个列的集合,也就是说在括号里面可以自由地用‘||’合并字符串。

@H_607_17@SELECT D.DEPTNO AS 部门编号,D.Dname AS 部门名称,WMSYs.WM_CONCAT(e.ename) AS 员工列表 FROM DEPT d left JOIN EMP E ON D.DEPTNO = e.deptno GROUP BY D.DEPTNO,D.Dname

拼接多列(拼接员工姓名和员工编号)

@H_607_17@SELECT D.DEPTNO AS 部门编号,WMSYs.WM_CONCAT(e.ename||'('||E.empno||')') AS 员工列表 FROM DEPT d left JOIN EMP E ON D.DEPTNO = e.deptno GROUP BY D.DEPTNO,D.Dname

2、ListAGG(列名,<分隔符>) WITHIN GROUP(ORDER BY 列名)函数

介绍:其函数在Oracle 11g 版本中推出,对分组后的数据按照一定的排序进行字符串连接。

@H_607_17@SELECT D.DEPTNO AS 部门编号,ListAGG(e.ename,',') WITHIN GROUP(ORDER BY e.ename) AS 员工列表 FROM DEPT d left JOIN EMP E ON D.DEPTNO = e.deptno GROUP BY D.DEPTNO,D.Dname

大佬总结

以上是大佬教程为你收集整理的Oracle把一列的值合并为一个值并用逗号分隔全部内容,希望文章能够帮你解决Oracle把一列的值合并为一个值并用逗号分隔所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: