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
分享到:
相关推荐
5. **`XMLAGG` 函数:** 虽然主要用于XML处理,但也可以用来合并字符串。它将结果转换为XML格式,然后可以提取出来作为字符串。这种方式适用于需要保留原始数据顺序或者进行XML处理的场合。 6. **`MODEL` 指令:** ...
例如,有一个表t_col_row,其中包含多个列c1、c2、c3,需要将这些列数据合并成一个字符串数据。 可以使用LISTAGG函数来实现多列转换成字符串,例如: ```sql SELECT id, LISTAGG(c1 || ',' || c2 || ',' || c3) ...
这个示例代码将 bp_marking 表中的 sfc_no 字段与对应的所有 mark_operation_id 字段合并成一个字符串,并用逗号分隔每个字段的值。 如果需要去重,可以使用 DISTINCT 关键字,示例代码如下: ```sql SELECT sfc_no...
首先,"行转列"的基本思想是将数据库表中的一列数据转换为多列显示,使得数据在展示时更加清晰、直观。Oracle提供了多种方法来实现这一目标,包括使用Pivot和Unpivot操作,以及自定义的SQL查询技巧。 1. PIVOT操作...
SQL语句用with将列分割成多列存为临时表,再将多行某个字段拼接合并为一行
在Oracle数据库中,将逗号分隔的字符串转换为多行是常见的数据处理需求,尤其在需要对每个分隔项进行单独操作时。这个过程通常涉及到字符串处理函数,如`REGEXP_SUBSTR`和`REPLACE`,以及层次查询结构`CONNECT BY`。...
`WMSYS.WM_CONCAT`函数是Oracle数据库中的一个内置函数,主要用于将多个字符串连接成一个单一的字符串。该函数特别适用于处理大量数据的聚合操作,尤其是在需要将多行记录转换为一行记录的情况下表现得尤为突出。 *...
1. **`wmsys.wm_concat(course)`**:使用`wm_concat()`函数将`course`列中的所有值合并为一个字符串列表。 2. **`REPLACE(wmsys.wm_concat(course), ',', ';')`**:通过`replace()`函数将逗号`,`替换为分号`;`,从而...
在数据库管理与开发过程中,经常会遇到需要将表中的两列数据合并为一列的情况。这种需求常见于数据清洗、报表生成或数据展示等场景。不同的数据库管理系统(Database Management System,DBMS)提供了各自的方法来...
-- 初始化合并字符串为空 -- 使用循环来获取并合并数据 /*open cur; LOOP FETCH cur INTO cur_row; EXIT WHEN cur%NOTFOUND; MergeStr := MergeStr || cur_row.BaseValue; END LOOP; close cur;*/ ---- FOR...
与SQL中的`||`运算符不同的是,`WM_CONCAT`可以接受多个参数并将它们连接起来形成一个单一的字符串,特别适用于需要合并多个列值的情况。此函数通常用于返回一个由指定的列或表达式组成的列表,其中每个元素之间可以...
根据提供的文件信息,我们将详细讨论Oracle中实现行列互换的六种情况,分别为:列转行、行转列、多列转换成字符串、多行转换成字符串、字符串转换成多列、字符串转换成多行。 1. 列转行 列转行是指将表中的列转换为...
说明:Oracle中要删除一个用户,必须要具有dba的权限。而且不能删除当前用户,如果删除的用户有数据对象,那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 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列合并的一些常用方法: 1. **...
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数据库中,`WMSYS.WM_CONCAT`函数是一个非常实用的工具,它用于将多行数据合并成一个单行字符串。然而,由于其内部处理机制,当需要合并的数据量过大时,可能会遇到“字符串缓冲区太小”的错误。这是因为`WM...
本篇将深入探讨Oracle中的字符串操作、行列转换以及批量处理等关键知识点。 1. **批量获取文件名** 在命令行环境下,可以通过批处理命令`DIR *.* /B > LIST.TXT`来获取当前目录下的所有文件名,并将其保存到名为`...