`

oracle 将查询结果中的一列合并为一个字符串(转)

 
阅读更多

select max(sys_connect_by_path(username,';')) from 
   (
   select 
           u.username,rownum ro 
   from 
          t_base_user u,t_base_role_user ru 
   where 
         u.id = ru.userid
    ) newtab 
    start with newtab.ro = 1
    connect by prior newtab.ro = newtab.ro - 1

 

 注:t_base_user 是用户表 t_base_role_user  是角色用户关系表

         sys_connect_by_path(要合并的列名,分割符)

         查询结果如下:

                               ;张三;李四;王五

源地址:http://blog.csdn.net/zengzehui/article/details/3405286

分享到:
评论
1 楼 xyc717 2012-07-24  
楼主好牛叉啊

相关推荐

    Oracle多行记录合并

    5. **`XMLAGG` 函数:** 虽然主要用于XML处理,但也可以用来合并字符串。它将结果转换为XML格式,然后可以提取出来作为字符串。这种方式适用于需要保留原始数据顺序或者进行XML处理的场合。 6. **`MODEL` 指令:** ...

    Oracle行转列

    例如,有一个表t_col_row,其中包含多个列c1、c2、c3,需要将这些列数据合并成一个字符串数据。 可以使用LISTAGG函数来实现多列转换成字符串,例如: ```sql SELECT id, LISTAGG(c1 || ',' || c2 || ',' || c3) ...

    oracle实现行转列功能,并使用逗号进行隔开拼接,成为一条数据.pdf

    这个示例代码将 bp_marking 表中的 sfc_no 字段与对应的所有 mark_operation_id 字段合并成一个字符串,并用逗号分隔每个字段的值。 如果需要去重,可以使用 DISTINCT 关键字,示例代码如下: ```sql SELECT sfc_no...

    oracle行转列

    首先,"行转列"的基本思想是将数据库表中的一列数据转换为多列显示,使得数据在展示时更加清晰、直观。Oracle提供了多种方法来实现这一目标,包括使用Pivot和Unpivot操作,以及自定义的SQL查询技巧。 1. PIVOT操作...

    一列分割成多列,多行合并为一行

    SQL语句用with将列分割成多列存为临时表,再将多行某个字段拼接合并为一行

    oracle将以逗号分隔字符串转多行

    在Oracle数据库中,将逗号分隔的字符串转换为多行是常见的数据处理需求,尤其在需要对每个分隔项进行单独操作时。这个过程通常涉及到字符串处理函数,如`REGEXP_SUBSTR`和`REPLACE`,以及层次查询结构`CONNECT BY`。...

    oracle行转列聚合函数WMSYS.WM_CONCAT

    `WMSYS.WM_CONCAT`函数是Oracle数据库中的一个内置函数,主要用于将多个字符串连接成一个单一的字符串。该函数特别适用于处理大量数据的聚合操作,尤其是在需要将多行记录转换为一行记录的情况下表现得尤为突出。 *...

    oracle10g,9i多行合并一行函数

    1. **`wmsys.wm_concat(course)`**:使用`wm_concat()`函数将`course`列中的所有值合并为一个字符串列表。 2. **`REPLACE(wmsys.wm_concat(course), ',', ';')`**:通过`replace()`函数将逗号`,`替换为分号`;`,从而...

    Mysql、oracle、Sybase数据库两列合并成一列的sql语句

    在数据库管理与开发过程中,经常会遇到需要将表中的两列数据合并为一列的情况。这种需求常见于数据清洗、报表生成或数据展示等场景。不同的数据库管理系统(Database Management System,DBMS)提供了各自的方法来...

    oracle某个字段多行记录转化为一行

    -- 初始化合并字符串为空 -- 使用循环来获取并合并数据 /*open cur; LOOP FETCH cur INTO cur_row; EXIT WHEN cur%NOTFOUND; MergeStr := MergeStr || cur_row.BaseValue; END LOOP; close cur;*/ ---- FOR...

    oracle中将列拼接字段函数

    与SQL中的`||`运算符不同的是,`WM_CONCAT`可以接受多个参数并将它们连接起来形成一个单一的字符串,特别适用于需要合并多个列值的情况。此函数通常用于返回一个由指定的列或表达式组成的列表,其中每个元素之间可以...

    oracle_lhr_行列互换总结

    根据提供的文件信息,我们将详细讨论Oracle中实现行列互换的六种情况,分别为:列转行、行转列、多列转换成字符串、多行转换成字符串、字符串转换成多列、字符串转换成多行。 1. 列转行 列转行是指将表中的列转换为...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:Oracle中要删除一个用户,必须要具有dba的权限。而且不能删除当前用户,如果删除的用户有数据对象,那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle中权限...

    oracle行列转换

    行转列是指将数据库表中的多行转换为一列。这种操作可以使用 AGGREGATE FUNCTION 语句来实现。 示例代码: ```sql SELECT id, MAX(decode(cn, 'c1', cv, NULL)) AS c1, MAX(decode(cn, 'c2', cv, NULL)) AS c2, ...

    oracle列合并的实现方法

    在Oracle数据库中,有时我们需要将同一表中多个列的值合并为一个字符串,这被称为列合并。Oracle提供了多种方法来实现这一功能,特别是在不同版本中,这些方法有所不同。以下是Oracle列合并的一些常用方法: 1. **...

    oracle4的表查询和基本函数.docx

    TO_CHAR函数将日期转换为字符串,TO_DATE函数则将字符串转换为日期。例如: ```sql SELECT TO_CHAR(HIREDATE, 'YYYY-MM-DD') AS HireDateString FROM EMP; SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD') AS Date...

    Oracle中SQL语句连接字符串的符号使用介绍

    这个运算符用于将两个或多个字符串合并成一个单一的字符串。在Oracle SQL中,字符串连接的操作相对简单且高效,使得处理和组合文本数据变得更加方便。 首先,我们来看一下`||`运算符的基本用法。在上述的示例代码中...

    类似于wmsys.wm_concat的自定义函数clob版

    在Oracle数据库中,`WMSYS.WM_CONCAT`函数是一个非常实用的工具,它用于将多行数据合并成一个单行字符串。然而,由于其内部处理机制,当需要合并的数据量过大时,可能会遇到“字符串缓冲区太小”的错误。这是因为`WM...

    oracle学习参考

    本篇将深入探讨Oracle中的字符串操作、行列转换以及批量处理等关键知识点。 1. **批量获取文件名** 在命令行环境下,可以通过批处理命令`DIR *.* /B > LIST.TXT`来获取当前目录下的所有文件名,并将其保存到名为`...

Global site tag (gtag.js) - Google Analytics