wmsys.wm_concat 函式用法

孤竹星發表於2015-01-05
統計資訊,需要將多行資料合併在一行中,於是使用wmsys.wm_concat函式
簡單例子:
表結構
SQL> desc test;
 名稱                                      是否為空? 型別
 ----------------------------------------- -------- -----------------
 SCODE                                              VARCHAR2(4)
 VALUE                                              VARCHAR2(20)

表內容
SQL> select * from test;

SCOD VALUE
---- --------------------
10   一一
10   一二
20   二一
20   二二
30   三一
30   三二
30   三三

wmsys.wm_concat 執行結果
SQL> SELECT scode, wmsys.wm_concat (value) as result FROM test GROUP BY scode;

SCOD RESULT
---- ---------------
10   一一,一二
20   二一,二二
30   三一,三二,三三

使用wmsys.wm_concat 需要注意的問題:wmsys.wm_concat (value) 其中value欄位型別,當資料型別為nvarchar2時 如果不轉換顯示資料為亂碼,其他資料型別未驗證
 SELECT scode, wmsys.wm_concat (to_char(value)) as result FROM test GROUP BY scode;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28282660/viewspace-1391016/,如需轉載,請註明出處,否則將追究法律責任。

相關文章