暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【ORACLE:函数】2.WM_CONCAT函数运用

叽叽画呱呱 2021-03-04
2957

1

函数用途


WM_CONCAT是一个列转换行的函数,把一列数据合并成一样,用逗号隔开。


用法很简单:select wm_concat(column) from tablename;

比如t表列A数据为:

select A FROM T;

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

AA

BB


运用函数的结果:

select  wm_concat(A) FROM T;

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

AA,BB

应用场景

举例


经常做维护,我需要编写某个命令,里面用到这样一段字符串(只截取了部分,实际上更长):

THYTEXP:WMTHGCXT,XXJSGS:UNDOTBS1,XXJSGS:SYSAUX,XXJSGS:SYSTEM,XXJSGS:UNDO_2,XXJSGS:GZGL,XXJSGS:XXCYCWLPT,XXJSGS:SCZB,THKQSZPT:SYSTEM,THKQSZPT:SYSAUX,THKQSZPT:UNDOTBS1,THKQSZPT:UNDO_2,THKQSZPT:THKQSZPT,THYTXLBPT:SYSTEM,THYTXLBPT:SYSAUX,THYTXLBPT:UNDOTBS1,THYTXLBPT:UNDO_2,THYTXLBPT:THYTXLBPT,HOSPITAL:SYSTEM,HOSPITAL:SYSAUX,HOSPITAL:UNDOTBS1,HOSPITAL:UNDO_2,HOSPITAL:NK01,HOSPITAL:NK01,HOSPITAL:QXHQ,HOSPITAL:YLEMR,HOSPITAL:YLMEDREC,HOSPITAL:ST_RIS,HOSPITAL:ST_PACS,YCTYSQ:SYSTEM,YCTYSQ:SYSAUX,YCTYSQ:UNDOTBS1,YCTYSQ:TYSQ_DATA,YCTYSQ:TYSQ_BLOB,YCTYSQ:TYSQ_DATA_INDEX,YCTYSQ:UNDO_2,VIRUSREPORT:VIRUSREPORT,VIRUSREPORT:UNDOTBS1,VIRUSREPORT:SYSAUX,VIRUSREPORT:UNDO_2,VIRUSREPORT:SYSTEM,QYYP:QYYP,QYYP:UNDOTBS1,QYYP:SYSAUX,QYYP:UNDO_2,QYYP:SYSTEM;

靠我手工去拼接,那是很不方便。


函数生成以上数据方法:

创建表T,获得我要拼接的数据,插入到I;

create table t(i varchar2(20) );


insert into t select XXXXXXXXXX;


之后形成需要的基本列:


执行函数查询,结果复制出来就是我想要的数据:

select wm_concat(i) from t;


                                             ----完成-------

感谢关注

微信ID:茶花酒食光
长按二维码关注微互动



文章转载自叽叽画呱呱,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论