ホームページ > データベース > mysql チュートリアル > Oracle で VARCHAR 列を複数の列に分割するにはどうすればよいですか?

Oracle で VARCHAR 列を複数の列に分割するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-05 05:04:43
オリジナル
795 人が閲覧しました

How Can I Split a VARCHAR Column into Multiple Columns in Oracle?

Oracle で VARCHAR を個別の列に分割する

特定の区切り文字に基づいて VARCHAR 列を個別の列に変換するタスクには、特有の課題が伴いますデータベース管理システムで。この質問では、文字列を複数の部分に分割する目的で結果セットが構造化された後に列を定義する実現可能性を検討します。

データの取得と変換

この内容ではこのシナリオでは、入力データは特定の文字列パターンを持つコメントで構成されます。目標は、これらのコメントを 2 つの別々の列に分割し、コメントの最初のセクションが最初の列に表示され、残りのテキストが 2 番目の列に表示されるようにすることです。たとえば、取得した値が次の場合:

COLUMN_ONE
--------------------
'D7ERROR username'
ログイン後にコピー

必要な出力は次のようになります:

COL_ONE    COL_TWO
--------------------
D7ERROR   username   
ログイン後にコピー

SUBSTR と INSTR を使用した解決策

データが目的の列間に一貫した間隔を示していると仮定すると、次のクエリは次のようになります。 used:

SELECT SUBSTR(t.column_one, 1, INSTR(t.column_one, ' ')-1) AS col_one,
       SUBSTR(t.column_one, INSTR(t.column_one, ' ')+1) AS col_two
  FROM YOUR_TABLE t
ログイン後にコピー

このクエリは、SUBSTR 関数を利用して、最初のスペース文字の位置 (INSTR によって決定される) に基づいて文字列の一部を抽出します。結果は、区切り文字が削除された、目的の 2 つの列になります。

Oracle 10g の高度な機能

Oracle 10g 以降のバージョンでは、正規表現を使用して、より柔軟なオプションを使用できます。 (正規表現)。 REGEXP_SUBSTR 関数により、強力なパターン マッチングと文字列が可能になります。操作。

参照:

  • [SUBSTR](https://docs.oracle.com/en/database/oracle/oracle-database/19 /sql/SUBSTR.html)
  • [INSTR](https://docs.oracle.co m/en/database/oracle/oracle-database/19/sql/INSTR.html)
  • [REGEXP_SUBSTR](https://docs.oracle.com/en/database/oracle/oracle-database/ 19/sql/REGEXP_SUBSTR.html)

以上がOracle で VARCHAR 列を複数の列に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート