Oracle テーブルのセルの値から文字列を抽出する必要があります。どうやってやるの?
VALUE
--------
/var1/var2/var3/C751994ZP1QT11/var4.itp
SQLを使用して値から「C751994ZP1QT11」を抽出したい。REGEXP_LIKE のような関数を検索しましたが、使い方がよくわかりません。
助けてくれてありがとう。
文字列を抽出したい場合は、 を使用する必要がありますregexp_substr()
。regexp_like()
特定の正規表現が文字列に一致するかどうかを示すブール値をregexp_substr()
返しますが、実際には一致した文字列を返します。
あなたの場合、/**
と の間の文字列が必要だとすると**/
、次のようなものを使用できます。
select
regexp_substr(
'/var1/var2/var3/**C751994ZP1QT11**/var4.itp',
'/\*\*.*\*\*/')
from dual
Oracle での正規表現の便利なショートカットについては、こちらを参照してください。
select REGEXP_REPLACE('/var1/var2/var3/**C751994ZP1QT11**/var4.itp','.*\*\*(.*)\*\*.*','\1') result from dual