Oracle データベース内の文字列を複数の行に分割します
はじめに
カンマ区切りの文字列を複数行に分割することは、データ処理における一般的なタスクです。 Oracle 10g および 11g では、この目標を効率的に達成するための複数の方法があります。
複数列の分割
複数の値を含む文字列を複数の列に分割するには、REGEXP_REPLACE、REGEXP_SUBSTR、および階層クエリを組み合わせて使用できます。
クエリ:
<code class="language-sql">WITH temp AS ( SELECT name, project, error FROM your_table ) SELECT name, project, TRIM(REGEXP_SUBSTR(error, '[^,]+', 1, levels.column_value)) AS new_error FROM temp, TABLE(CAST( MULTISET( SELECT level FROM dual CONNECT BY level <= REGEXP_COUNT(error, ',') + 1 ) AS sys.odcinumberlist )) levels WHERE levels.column_value <= REGEXP_COUNT(error, ',') + 1;</code>
手順:
REGEXP_COUNT
で暗黙的に行われます) 結論
この改良された方法により、Oracle 10g および 11g で複数列の文字列を複数の行に分割する柔軟な方法が提供されます。 Oracle の組み込み関数と階層クエリなどの高度な技術を使用して、複雑な文字列操作タスクを効率的に処理します。
以上がOracle でカンマ区切りの文字列を複数の行に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。