在工作中提取数据报表时碰到了很多只有一个字段不同,其他N个字段都相同的数据,用行来显示不免觉得太过冗余,于是搜寻网络发现Oracle有个列合并成行的函数 wm_concat() 特别简单好用,所以特此记录一下。
1.LOB类型
先了解一下LOB类型:
Oarcle中的LOB类型:
在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了。因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种类型的字段,很灵活,适用于数据量非常大的业务领域(如图象、档案等)。
LOB类型分为BLOB和CLOB两种:
- BLOB即二进制大型对象(Binary Large Object),适用于存贮非文本的字节流数据(如程序、图象、影音等)。
- CLOB,即字符型大型对象(Character Large Object),则与字符集相关,适于存贮文本型的数据(如历史档案、大部头著作等)。
2. wm_concat()函数的使用
开始新建一个表,并且插入测试数据:
create table lp_0409_0(
xuehao varchar2(20),
username varchar2(50),
kecheng varchar2(50)
);
insert into lp_0409_0 values('001','老刘','语文'