在Oracle資料庫中將多行合併為逗號分隔清單
在處理Oracle資料庫中的資料時,有時需要將多行資料合併成單一逗號分隔值 (CSV) 清單。可以使用內建函數,例如WM_CONCAT或LISTAGG來實現此任務。
WM_CONCAT函數在11.2版本之前的Oracle資料庫中可用,它提供了一種方便的連接值的方法。以下查詢示範了它的用法:
<code class="language-sql">SELECT WM_CONCAT(table_name) FROM user_tables;</code>
此查詢會擷取目前模式中所有表名的逗號分隔清單。
或者,在Oracle 11.2中引入的LISTAGG函數提供了更大的靈活性和控制能力。它允許指定分隔符,並對連接的值進行排序。以下是一個範例:
<code class="language-sql">SELECT LISTAGG(table_name, ', ') WITHIN GROUP (ORDER BY table_name) FROM user_tables;</code>
此查詢在使用逗號作為分隔符號連接表名前,會先依升序對表名進行排序。
透過使用WM_CONCAT或LISTAGG,開發人員可以輕鬆地將多行合併到單一CSV中,簡化資料操作並提高查詢效能。
以上是在 Oracle 中如何將多行組合成逗號分隔的清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!