VP3 - Art & Design and HS5 - Health & Social Care
があります。Oracleで'-'
の後に文字列を取得する必要があります。これは部分文字列を使用して達成できますか?
これほど簡単な文字列操作では、ベースINSTR()
およびSUBSTR()
関数を使用するだけです。以下のクエリでは、2つの位置afterハイフンから始まる列の部分文字列を取得します。
_SELECT
SUBSTR(col, INSTR(col, '-') + 2) AS subject
FROM yourTable
_
ここでREGEXP_SUBSTR()
を使用することもできますが(Gordonの答えを参照)、少し複雑になり、パフォーマンスは上記のクエリほど良くないかもしれません。
regexp_substr()
を使用できます:
_select regexp_substr(col, '[^-]+', 1, 2)
_
オプションのスペースを削除する場合は、trim()
を使用できます。
_select trim(leading ' ', regexp_substr(col, '[^-]+', 1, 2))
_
非自明なパラメータは
1
_-ソースの最初の文字から検索します。 _1
_がデフォルトですが、2番目のパラメーターを提供できるように設定する必要があります。2
_-結果のサブストリングとして2番目の一致を取得します。デフォルトは1です。