转载自:http://blog.itpub.net/post/42245/522757

首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用

准备测试数据

SQL> create table test(id number,name varchar2(20));

SQL> insert into test values(1,'a');

SQL> insert into test values(1,'b');

SQL> insert into test values(1,'c');

SQL> insert into test values(2,'d');

SQL> insert into test values(2,'e');

SQL> commit;

效果1 : 行转列

SQL> select wm_concat(name) from test;

WM_CONCAT(NAME)

-------------------------------------------------------------------------

a,b,c,d,e

效果2: 把结果里的逗号替换成"|"

SQL> select replace(wm_concat(name),',','|') from test;

REPLACE(WM_CONCAT(NAME),',','|')

-----------------------------------------------------------------------

a|b|c|d|e

效果3:按ID分组合并name

SQL> select id,wm_concat(name) name from test group by id;

ID NAME

---------- ------------------------------

1 a,b,c

2 d,e

懒人扩展用法:

案例:我要写一个视图,类似"create or replace view as select 字段1,...字段50 from tablename" ,基表有50多个字段,要是靠手工写太麻烦了,有没有什么简便的方法? 当然有了,看我如果应用wm_concat来让这个需求变简单

SQL> select 'create or replace view as select '|| wm_concat(column_name) || ' from dept'from user_tab_columns where table_name='DEPT';

'CREATEORREPLACEVIEWASSELECT'||WM_CONCAT(COLUMN_NAME)||'FROMDEPT'

--------------------------------------------------------------------------------

create or replace view as select DEPTNO,DNAME,LOC from dept

oracle 的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函数实现行转列

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

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

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

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

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

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

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

最新文章

  1. 小米语音首席科学家Daniel Povey:下一代Kaldi将走向何方?
  2. python语音播报-使用pyttsx3实现python语音播报
  3. [译] 理解编译器 —— 从人类的角度(版本 2)
  4. 步步深入MySQL:架构-查询执行流程-SQL解析顺序
  5. 工作104:vuex很强大
  6. classpass 配置mysql_jmeter压测学习18-JDBC配置连接mysql数据库
  7. 不能忽视 php warning
  8. 五笔输入法的学习记录
  9. 怎么把手机字体改成繁体_手机变成繁体字怎么改回来
  10. ZT - 谷歌微软等三巨头掀电视革命:智能电视年底成真
  11. 第二届中国计量大学ACM程序设计竞赛个人赛(同步赛)B-Little Gyro and Sets【两个等差数列公式】
  12. c++工程师历年企业笔试真题汇总
  13. 算法与数据结构——百度笔试题(一)
  14. 面试官问你为什么离开上一家公司该怎么回答? 1
  15. java100以内依个_使用Java多线程实现任务分发
  16. 54 小明的存钱计划
  17. 用数字万用表测量三极管的方法
  18. 教你如何快速提取视频中的音频
  19. spring中tx:advice中的tx是什么的缩写?
  20. IOS版伪春菜开发笔记1.2之图层的遮罩及黑色透明处理

热门文章

  1. Java快速入门学习笔记9 | Java语言中的方法
  2. fopen如何保存西里尔文文件名_如何下载微信视频号的视频?
  3. 得推家政派单系统源码 v1.0
  4. 网址导航网站源码 仿某菇导航V1.2版
  5. Linux Shell脚本入门教程系列之(一)Shell简介
  6. 如何在终端下截取一个完整长度的网页截图
  7. Linux流量监控工具 – iftop
  8. Shell脚本IF条件判断和判断条件总结
  9. 【今日CV 计算机视觉论文速览 第136期】Wed, 26 Jun 2019
  10. 【今日CV 视觉论文速览】14 Nov 2018