实例应用:
查出相同编号的所有人的意见,没有填写意见时不显示。
显示格式如下:
id note
001 张三:意见一
李四:意见二
002 王五:意见一
SQL如下:
create table T002
(
APPROVAL_NO varchar2(200),
APPROVAL_NAME varchar2(200),
APPROVAL_LINE_NOTE varchar2(200)
)
insert into T002 values('1001','张三','意见一');
insert into T002 values('1001','李四','意见二');
insert into T002 values('1001','王五','意见三');
insert into T002 values('1001','小六','意见四');
insert into T002 values('1001','小七',null);
insert into T002 values('1002','小七','意见一');
insert into T002 values('1002','小八',null);
select APPROVAL_NO,replace(wm_concat(APPROVAL_NAME || ':' || APPROVAL_LINE_NOTE ),',' ,chr(10) || chr(13) ) as note
from T002
where APPROVAL_LINE_NOTE is not null
group by APPROVAL_NO;
执行结果如下:
APPROVAL_NO |
note |
1001 |
张三:意见一 李四:意见二 王五:意见三 小六:意见四 |
1002 |
小七:意见一 |
实例2:
table1 有两个字段:
fld1, fld2,
10秒 19:00
15秒 21:00
15秒 20:30
15秒 20:00
30秒 22:00
写一个sql,取得如下结果集:
10秒(19:00)
15秒(20:00/20:30/21:00)
30秒(22:00)
要求15秒时,时间段按照20:00/20:30/21:00的顺序显示。
select sub.fld1,replace(wm_concat(sub.fld2),',','/')
from (select fld1,fld2 from table1 order by fld1,fld2)sub
group by sub.fld1;
与wm_concat()操作相反的函数:
select regexp_substr('1001,1002,1003,1004,1005', '[^,]+', 1, level) from dual
connect by level <= 5
分享到:
相关推荐
根据提供的文件信息,本文将对重写Oracle中的`wm_concat`函数进行详细的解析与扩展讨论。此函数在Oracle数据库中用于连接多个字符串为一个单一的字符串。原生的`wm_concat`函数虽然能够满足基本需求,但在特定场景下...
本文实例讲述了mysql group_concat()函数用法。分享给大家供大家参考,具体如下: group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。比较抽象,难以理解。 通俗点理解,其实是...
SGA主要用来存放数据库实例的数据和控制信息,而PGA则用于单个服务器进程。使用MEMORY_TARGET参数,Oracle数据库可以动态地根据系统负载自动调整SGA和PGA的大小,以达到优化内存使用、提高系统性能的目的。 然而,...
本篇文章将介绍PIVOT和UNPIVOT的简单用法,并提供实例代码。 一、枢纽表达式PIVOT和UNPIVOT的概念 PIVOT和UNPIVOT是SQL Server 2005中新增的关系运算符,用于实现行列的旋转。PIVOT运算符将行旋转为列,并且可能...
本文实例讲述了oracle实现多行合并的方法。分享给大家供大家参考。具体分析如下: 在写sql时,经常会有将某列的字段合并起来,比如将某人名下每个月的工资列示,但是每个人只能占一行。 像这种场景,可能用行列转换...
8. **函数**:如聚合函数`COUNT`、`SUM`、`AVG`、`MAX`和`MIN`,以及`CASE WHEN`、`DECODE`、`NVL`、`NULLS FIRST/LAST`、`WM_CONCAT`、`EDIT_DISTANCE_SIMILARITY`等,用于数据处理和分析。 9. **存储过程**:预...
例如,当你需要合并多行记录时,可以使用Oracle的WM_CONCAT函数,或者在Oracle 11g及以上版本中使用LISTAGG函数。在处理事务时,了解如何正确使用COMMIT、ROLLBACK和SAVEPOINT也是必不可少的。 对于开发人员来说,...
10.2 eval内部的concat 10.3 uploevel命令 10.4 连接参数的命令 10.5 subst命令 第11章 规则表达式 11.1 规则表达式语法 11.2 regexp命令 11.3 常用的规则表达式 11.4 regsub命令 11.5 使用regsub...