时间:2021-05-24
很多场合我们都会用到oracle的列合并,oracle提供了如下一些方法用来实现列合并:
一、Oracle 10G以前使用WMSYS.WM_CONCAT:
wmsys.wm_concat将字段的值用","来隔开。
二、使用sys_connect_by_path
sys_connect_by_path(字段名, 2个字段之间的连接符号),这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下,方法如下 REPLACE(字段名,原字符,',')。这个函数使用之前必须先建立一个树,否则无用。
三、Oracle 11G以后可以使用listagg
select listagg(id,',') within group (order by id) col_name from tab_name;四、使用自定义函数:
create or replace function getRow(table1 varchar2 , ptdb1 varchar2) RETURN VARCHAR2 isResult VARCHAR2(1000);beginFOR cur IN (SELECT audit_code FROM sys_audit_column t2 WHERE table1 =t2.table_name and ptdb1 = t2.ptdb_name) LOOPRESULT := RESULT||cur.audit_code||',';END LOOP;RESULT:=rtrim(RESULT,',');return(Result);end getRow;声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Oracle实现行转换成列的方法。分享给大家供大家参考,具体如下:把行转成列把学生表,成绩表,班级表,学科表合并成一张成绩表效果如下:创建表--班
Excel操作中经常需要多列文字合并到一起,但是由于它们不在同一列中,无法实现,下面小编就为大家分享在Excel中常用函数将多列文字合并到一列方法,不会的朋
这篇文章主要介绍了oracle实现多行合并的方法,实例讲述了oracle10g以后提供的函数WMSYS.WM_CONCAT的使用技巧,需要的朋友可以参考下本文实
有时候会遇到将excel两列的数据合并成一列,假设把A列和B列内容合并一起,如果手工一个个合并,效率也太慢了.下面小编来讲一下如何将两列数据合并成为一列的方法,
本文实例讲述了Oracle实现行列转换的方法。分享给大家供大家参考,具体如下:1、固定列数的行列转换如:studentsubjectgrade---------