0

Oracle テーブルのセルの値から文字列を抽出する必要があります。どうやってやるの?

VALUE
--------
/var1/var2/var3/C751994ZP1QT11/var4.itp

SQLを使用して値から「C751994ZP1QT11」を抽出したい。REGEXP_LIKE のような関数を検索しましたが、使い方がよくわかりません。

助けてくれてありがとう。

4

2 に答える 2

1

文字列を抽出したい場合は、 を使用する必要がありますregexp_substr()regexp_like()特定の正規表現が文字列に一致するかどうかを示すブール値をregexp_substr()返しますが、実際には一致した文字列を返します。

あなたの場合、/**と の間の文字列が必要だとすると**/、次のようなものを使用できます。

select 
  regexp_substr(
    '/var1/var2/var3/**C751994ZP1QT11**/var4.itp', 
    '/\*\*.*\*\*/') 
from dual

Oracle での正規表現の便利なショートカットについては、こちらを参照してください。

于 2012-08-29T05:17:31.010 に答える
0
select REGEXP_REPLACE('/var1/var2/var3/**C751994ZP1QT11**/var4.itp','.*\*\*(.*)\*\*.*','\1') result from dual
于 2012-08-29T05:25:51.163 に答える