首頁 > 資料庫 > mysql教程 > 如何在 Oracle 中將資料列聚合到逗號分隔的清單中?

如何在 Oracle 中將資料列聚合到逗號分隔的清單中?

Linda Hamilton
發布: 2025-01-19 17:57:10
原創
457 人瀏覽過

How to Aggregate Rows into Comma-Separated Lists in Oracle?

Oracle:將行組合成逗號分隔的清單

資料操作通常需要將多行聚合到一個以逗號分隔的字串中。 Oracle 提供了多種方法來實現此目的:

方法 1:LISTAGG(Oracle 11.2 及更高版本)

LISTAGG 函數(從 Oracle 11.2 開始提供)使用指定的分隔符號有效地連接行。 其語法為:

<code class="language-sql">LISTAGG(expression, delimiter [, separator]) WITHIN GROUP (ORDER BY order_expression)</code>
登入後複製

範例:從 countries 表格產生以逗號分隔的國家名稱清單:

<code class="language-sql">SELECT LISTAGG(country_name, ', ') WITHIN GROUP (ORDER BY country_name)
FROM countries;</code>
登入後複製

方法2:WM_CONCAT(11.2之前的Oracle版本)

對於較舊的 Oracle 資料庫(11.2 之前),WM_CONCAT 函數提供類似的功能:

<code class="language-sql">SELECT WM_CONCAT(country_name)
FROM countries;</code>
登入後複製

方法三:自訂PL/SQL函數

如果 LISTAGGWM_CONCAT 都不夠,自訂 PL/SQL 函數可以提供靈活的解決方案。 這允許定制連接邏輯,如使用循環和字串連接提供的範例所示。

以上是如何在 Oracle 中將資料列聚合到逗號分隔的清單中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板