ホームページ >データベース >mysql チュートリアル >Oracle で複数の行をカンマ区切りのリストに結合するにはどうすればよいですか?

Oracle で複数の行をカンマ区切りのリストに結合するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-19 17:47:09652ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。