在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
很多场合我们都会用到oracle的列合并,oracle提供了如下一些方法用来实现列合并: 一、Oracle 10G以前使用WMSYS.WM_CONCAT: wmsys.wm_concat将字段的值用","来隔开。 select id,wm_concat(name) from tab_name group by id; 二、使用sys_connect_by_path 三、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 is Result VARCHAR2(1000); begin FOR cur IN (SELECT audit_code FROM sys_audit_column t2 WHERE table1 = t2.table_name and ptdb1 = t2.ptdb_name) LOOP RESULT := RESULT||cur.audit_code||','; END LOOP; RESULT:=rtrim(RESULT,','); return(Result); end getRow; |
请发表评论