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';

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM