複数の行を Oracle データベースのカンマ区切りリストにマージします
Oracle データベース内のデータを操作する場合、複数行のデータを単一のカンマ区切り値 (CSV) リストに結合することが必要になる場合があります。 WM_CONCAT や LISTAGG などの組み込み関数を使用して、このタスクを実行できます。
WM_CONCAT 関数は、バージョン 11.2 より前の Oracle データベースで使用でき、値を連結する便利な方法を提供します。次のクエリはその使用法を示しています:
SELECT WM_CONCAT(table_name) FROM user_tables;
このクエリは、現在のスキーマ内のすべてのテーブル名のカンマ区切りリストを取得します。
Oracle 11.2 で導入された LISTAGG 関数を使用すると、柔軟性と制御が向上します。区切り文字を指定し、連結された値を並べ替えることができます。以下に例を示します:
SELECT LISTAGG(table_name, ', ') WITHIN GROUP (ORDER BY table_name) FROM user_tables;
このクエリは、カンマを区切り文字として使用してテーブル名を連結する前に、テーブル名を昇順に並べ替えます。
WM_CONCAT または LISTAGG を使用すると、開発者は複数の行を単一の CSV に簡単にマージでき、データ操作が簡素化され、クエリのパフォーマンスが向上します。
以上がOracle で複数の行をカンマ区切りのリストに結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。