使用場景:把某一列值轉換為逗號分隔的字符串
例子:比如查詢所有的的表空間如下,現在要獲得所有的表空間用逗號分隔的字符串(比如rman duplicate的時候skip表空間)
SQL> select name from v$tablespace; NAME ------------------------------ SYSTEM SYSAUX CTXD APPS_TS_TX_DATA APPS_TS_TX_IDX OWAPUB APPS_TS_QUEUES ODM OLAP APPS_TS_TOOLS APPS_TS_SEED APPS_TS_INTERFACE APPS_TS_MEDIA XXCUS APPS_UNDOTS1 APPS_TS_SUMMARY APPS_TS_NOLOGGING XXAPEX PORTAL APPS_TS_ARCHIVE TEMP1 MES APPS_QUERY XXAPS XXAGILE XXBI XXOCS XXOA 28 rows selected.
解決方案:wmsys.wm_concat()拼接字段 以逗號分開
SQL> select wmsys.wm_concat(name) from v$tablespace; WMSYS.WM_CONCAT(NAME) -------------------------------------------------------------------------------- SYSTEM,SYSAUX,CTXD,APPS_TS_TX_DATA,APPS_TS_TX_IDX,OWAPUB,APPS_TS_QUEUES,ODM,OLAP ,APPS_TS_TOOLS,APPS_TS_SEED,APPS_TS_INTERFACE,APPS_TS_MEDIA,XXCUS,APPS_UNDOTS1,A PPS_TS_SUMMARY,APPS_TS_NOLOGGING,XXAPEX,PORTAL,APPS_TS_ARCHIVE,TEMP1,MES,APPS_QU ERY,XXAPS,XXAGILE,XXBI,XXOCS,XXOA