oracle列合并的实现方法

 更新时间:2014年07月25日 10:14:37   投稿:shichen2014  
这篇文章主要介绍了oracle列合并的实现方法,需要的朋友可以参考下

很多场合我们都会用到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

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 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;

相关文章

  • Oracle数据库中的循环语法及举例

    Oracle数据库中的循环语法及举例

    这篇文章主要给大家介绍了关于Oracle数据库中的循环语法及举例的相关资料,Oracle循环操作是指在Oracle数据库中使用循环结构来重复执行一段代码或一组语句,Oracle提供了多种循环结构,包括FOR循环、WHILE循环和LOOP循环,需要的朋友可以参考下
    2023-09-09
  • Oracle之SQL语句性能优化(34条优化方法)

    Oracle之SQL语句性能优化(34条优化方法)

    本篇文章主要介绍了Oracle之SQL语句性能优化,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Oracle如何查看impdp正在执行的内容

    Oracle如何查看impdp正在执行的内容

    这篇文章主要给大家介绍了关于Oracle如何查看impdp正在执行的内容的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 解决plsql因事务未提交造成的锁表问题

    解决plsql因事务未提交造成的锁表问题

    这篇文章主要介绍了plsql因事务未提交造成的锁表的解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • oracle Dbeaver存储过程语法详解

    oracle Dbeaver存储过程语法详解

    这篇文章主要介绍了oracle Dbeaver存储过程语法详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • oracle学习笔记(三)

    oracle学习笔记(三)

    最近需要用的oracle,所以大家好好的学习下基础并整理下资料,希望能帮助到需要的朋友。
    2011-12-12
  • C#利用ODP.net连接Oracle数据库的操作方法

    C#利用ODP.net连接Oracle数据库的操作方法

    本文将介绍C#利用ODP.net连接Oracle数据库的操作方法,需要的朋友可以参考下
    2012-11-11
  • Oracle数据库如何将表的某一列所有值用逗号隔开去重后合并成一行

    Oracle数据库如何将表的某一列所有值用逗号隔开去重后合并成一行

    在做系统时经常会遇到在⼀个字段中,⽤逗号或其他符号分隔存储多个信息,这篇文章主要给大家介绍了关于Oracle数据库如何将表的某一列所有值用逗号隔开去重后合并成一行的相关资料,需要的朋友可以参考下
    2023-12-12
  • 给Oracle添加split和splitstr函数的方法

    给Oracle添加split和splitstr函数的方法

    最近项目中有很多需要做批量操作的需求,客户端把一组逗号分隔的ID字符串传给数据库,存储过程就需要把它们分割,然后逐个处理
    2012-11-11
  • Linux环境下重启Oracle数据库详细图文教程

    Linux环境下重启Oracle数据库详细图文教程

    Linux系统下网站出现问题的时候,可通过重启oracle数据库进行处理,这篇文章主要给大家介绍了关于Linux环境下重启Oracle数据库详细图文教程的相关资料,需要的朋友可以参考下
    2023-12-12

最新评论