oracle wmsys.wm_concat函数
2011-03-29 21:47
239 查看
wmsys.wm_concat函数,oracle 10g引入的;
作用:连接字符串,也可以用于将多行数据,转换为一行。
1.用于行列转换
SQL> select * from a; ITEMID TYPEID TYPENAME ----------- ------------------------- ---------- 1 2 bbb 2 3 ccc 2 5 ddd 3 5 ddd 1 1 aaa SQL> select * from b; ITEMID ITEMNAME -------------------- --------- 1 kkk 2 lll 3 ooo SQL> select a.itemid,b.itemname,wmsys.wm_concat(a.typename) 2 from a,b 3 where a.itemid=b.itemid 4 group by a.itemid,b.itemname; ITEMID ITEMNAME WMSYS.WM_CONCAT(A.TYPENAME) ------------------ ---------- ------------------------------- 1 kkk bbb,aaa 2 lll ccc,ddd 3 ooo ddd
2.下面将emp表中所有员工姓名连接起来:
SQL> select wmsys.wm_concat(ename) from emp; WMSYS.WM_CONCAT(ENAME) -------------------------------------------------------------------------------- SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MIL
那如果我们要将上面一行中员工的姓名区分开来,每个名字显示在一行怎么实现呢?
这要用到正则表达式函数regexp_substr();
SQL> select regexp_substr('SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MIL','[^,]+',1,level) 2 as cl1 3 from dual 4 connect by 5 level<=length('SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MIL')- 6 length(replace('SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MIL',',',''))+1; CL1 -------------------------------------------------------------------------------- SMITH ALLEN WARD JONES MARTIN BLAKE CLARK SCOTT KING TURNER ADAMS JAMES FORD MIL
--the end--
相关文章推荐
- 【Oracle】wmsys.wm_concat函数字段值为空
- 【Oracle】wmsys.wm_concat函数字段值为空
- oracle―SQL技巧之(二)WMSYS.WM_CONCAT函数实现多行记录用逗号拼接在一起
- Oracle 11g 重建WMSYS用户的WMSYS.WM_CONCAT函数
- oracle中WMSYS.WM_CONCAT函数的版本差异
- 关于WMSYS.WM_CONCAT函数的用法(oracle 10g)
- oracle中WMSYS.WM_CONCAT函数的版本差异
- oracle―SQL技巧之(二)WMSYS.WM_CONCAT函数实现多行记录用逗号拼接在一起
- oracle 行转列-WMSYS. wm_contact的运用
- oracle中的wmsys.wm_concat()函数
- Oracle: wmsys.wm_concat、sys_connect_by_path、自定义函数实现行列转换
- Oracle中的wmsys.wm_concat
- WM_CONCAT函数(Oracle)
- oracle wmsys.wm_concat 函数用法
- Oracle中的wmsys.wm_concat
- ORACLE wmsys.wm_concat()函数把某列数据整合到一起
- oracle 的wm_concat函数使用
- Oracle的wm_concat函数(转)
- oracle合并列的wm_concat函数
- oracle中使用wm_concat函数的方法及弊端(解决办法)