2019独角兽企业重金招聘Python工程师标准>>>

wmsys.wm_concat函数,oracle 10g引入的;

作用:连接字符串,也可以用于将多行数据,转换为一行。

1.用于行列转换

SQL> select * from a;ITEMID                    TYPEID TYPENAME
----------- ------------------------- ----------1                         2 bbb2                         3 ccc2                         5 ddd3                         5 ddd1                         1 aaa
SQL> select * from b;ITEMID ITEMNAME
-------------------- ---------1 kkk2 lll3 ooo
SQL> select a.itemid,b.itemname,wmsys.wm_concat(a.typename)2  from a,b3  where a.itemid=b.itemid4  group by a.itemid,b.itemname;ITEMID ITEMNAME   WMSYS.WM_CONCAT(A.TYPENAME)
------------------ ---------- -------------------------------1 kkk        bbb,aaa2 lll        ccc,ddd3 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 cl13  from dual4  connect by5          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--

转载于:https://my.oschina.net/kt431128/blog/298147

oracle wmsys.wm_concat函数相关推荐

  1. oracle vm concat指定分隔符,重写Oracle的wm_concat函数,自定义分隔符、排序

    oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我 ...

  2. Oracle中wm_concat函数报错解决方法

    Oracle中wm_concat函数报错解决方法 参考文章: (1)Oracle中wm_concat函数报错解决方法 (2)https://www.cnblogs.com/52net/archive/ ...

  3. Oracle的wm_concat()函数与Mysql的group_concat()函数

    这两个函数的作用是相同的,它们的功能是:实现行转列功能,即将查询出的某一列值使用逗号进行隔开拼接,成为一条数据. 1.Oracle的wm_concat()函数 2.Mysql的group_concat ...

  4. 重写Oracle的wm_concat函数,自定义分隔符、排序

    oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我 ...

  5. Oracle数据库wm_concat()函数的使用方法

    oracle数据库中wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oracle数据库wm_concat(column)函数实现字段合并 如: shopping: --- ...

  6. Oracle没有WM_CONCAT函数的解决办法

    解决ORA-00904: "WMSYS"."WM_CONCAT" WM_CONCAT是oracle的非公开函数,并不鼓励使用,新版本oracle并没有带此函数, ...

  7. oracle的wm_concat函数实现行转列

    有以下数据 deptname phone username isboss 部门A 电话1 员工A 0 部门A 电话1 领导A 1 部门B 电话2 员工B 0 部门B 电话2 员工C 0 部门B 电话2 ...

  8. 知识点备忘-oracle的wm_concat()函数

    今天在工作中遇到一个需求,需要把SQL语句的查询结果的列转成一行,请教同事后得知可以使用wm_concat()这个函数,现记录在此. wm_concat()用于将列转为行,列数据之间用逗号隔开,注意其 ...

  9. oracle中wm_concat函数去重,oracle-常用函数-wm_contact

    oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oraclewm_concat(column)函数实现字段合并 如: shopping: --------- ...

  10. oracle 的wm_concat函数使用

    转载自:http://blog.itpub.net/post/42245/522757 首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来 ...

最新文章

  1. 基于TensorRT优化的Machine Translation
  2. [ASP.NET]状态管理[摘自C#入门经典]
  3. 蓝桥杯java第六届决赛第二题--五星填数
  4. 前端常见知识点三之HTML
  5. 定时执行程序-Quartz简单实例
  6. oracle怎么通过sid确定表名,如何获取Oracle的SID列表
  7. Flask学习之旅--数据库
  8. C++Primer 学习笔记之关联容器
  9. VS error C2471: 无法更新程序数据库vc90.pdb的解决办法
  10. _crol_和左移的区别
  11. 【AutoLeaders】一些好用的网站
  12. APP - K歌之王请进!全民K歌可一键分享到微信状态
  13. Vue中配置代理服务器
  14. a different object with the same identifier value was already associated whith
  15. CAD Voronoi 生成插件 V2
  16. Stream流-分组操作
  17. 独立站运营指南:引流工具和引流方法都有哪些?
  18. 电子商务知识精华,开发不再只懂代码
  19. Photoshop CC 2019( ps cc)新增功能使用方法介绍
  20. 软件开发中的著名定律

热门文章

  1. 防止电子眼拍到车牌的秘籍
  2. JavaScript网页特效---对联广告,网站对联广告
  3. 写给对前途迷茫的朋友:五句话定会改变你的人生
  4. leetcode刷题--python
  5. BABOK - BA计划和监控(BA Planning Monitoring)概要
  6. vue-cli 上传图片上传到OSS(阿里云)
  7. Common Lisp
  8. R Markdown与RStudio IDE深度结合
  9. 区块链、ICO,养肥的是开发者和一群黑客
  10. module_param()函数