oracle數據庫將一列的值拼接成一行,並且各個值之間用逗號隔開


使用場景:把某一列值轉換為逗號分隔的字符串

例子:比如查詢所有的的表空間如下,現在要獲得所有的表空間用逗號分隔的字符串(比如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


免責聲明!

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



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