wm_concat函数

Posted 江南孤狼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wm_concat函数相关的知识,希望对你有一定的参考价值。

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

准备测试数据

 创建表TESTA

1 create table TESTA
2 (
3 id VARCHAR2(40) not null,
4 name VARCHAR2(40),
5 age VARCHAR2(40)
6 )

插入数据:

1 insert into testa values (1,\'小王\',21);
2 insert into testa values (1,\'小李\',21);
3 insert into testa values (1,\'小赵\',21);
4 insert into testa values (1,\'小钱\',22);
5 insert into testa values (1,\'小孙\',22);
6 insert into testa values (1,\'小周\',22);
7 insert into testa values (1,\'小吴\',23);
8 insert into testa values (1,\'小王\',23);

查询数据:

扩展:

把结果里的逗号换成 和 

按照age分组合并name

 

创建视图:

如果写一个视图,类似"create or replace view as select 字段1,...字段50 from tablename" ,如果基表有50多个字段,要是靠手工写太麻烦了,可以应用wm_concat来让这个需求变简单。

select \'create or replace view as select \'|| wm_concat(column_name) || \' from TESTA\' from user_tab_columns where table_name=\'TESTA\';

 

以上是关于wm_concat函数的主要内容,如果未能解决你的问题,请参考以下文章

wm_concat函数的排序问题

wm_concat函数

在Oracle12C数据库创建wm_concat函数

oracle的wm_concat()函数

在12C上创建wm_concat函数

自定义函数替换wm_concat函数,在oracle会出现啥不可控因素吗