首頁 >資料庫 >mysql教程 >在 Oracle 中如何將多行組合成逗號分隔的清單?

在 Oracle 中如何將多行組合成逗號分隔的清單?

Linda Hamilton
Linda Hamilton原創
2025-01-19 17:47:09623瀏覽

How Can I Combine Multiple Rows into a Comma-Separated List in Oracle?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn