wmsys.wm_concat 函数用法

统计信息,需要将多行数据合并在一行中,于是使用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;

请使用浏览器的分享功能分享到微信等