Oracleでvarcharを別々の列に分割する 質問する

Oracleでvarcharを別々の列に分割する 質問する

ちょっと困っています。データベースから特定の文字列で始まるコメントを取得し、その結果を別々の列に分けるように求められました。

たとえば、返される値が次の場合:

COLUMN_ONE
--------------------
'D7ERROR username'

返品は次のようになります:

COL_ONE    COL_TWO
--------------------
D7ERROR   username   

文字列を 2 つに分割するためだけに結果セットが構造化された後で列を定義することは可能ですか?

ベストアンサー1

データの一貫性によって異なります。列 1 と 2 に表示する内容の区切りとして 1 つのスペースを使用すると仮定します。

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

Oracle 10g+ には正規表現のサポートがあり、解決する必要がある状況に応じてより柔軟に対応できます。また、正規表現の部分文字列メソッドもあります...

参照:

おすすめ記事