2017-02-09 17 views
2

アルファベットのみを別々に抽出したいのですが、 "NIC132DA.1" の出力例
は、任意の番号なし、別途 "NIC" と "DA" でなければなりません。 NICDA
アウトプット期待は "NIC" と別に "DA" です:
オラクルは文字列からアルファベットを抽出します

select regexp_replace('NIC132DA.1','[^A-Za-z]') from dual; 

すると、私は出力以下の取得:
は、私は次のクエリを試してみました。
注:アルファベットの文字数は入力文字列に固定されていません。

+0

はい別々の列、私のクエリで私は – imsome1

+0

期待される結果は、「NICで1列のみのために試してみましたDA "? –

答えて

4

あなたはREGEXP_SUBSTRを使用することができます。

select 
    regexp_substr('NIC132DA.1','[A-Za-z]+', 1, 1) first, 
    regexp_substr('NIC132DA.1','[A-Za-z]+', 1, 2) second 
from dual; 

それは、多言語文字クラス[:alpha:]を使用することをお勧めします:

select 
    regexp_substr('NIC132DA.1','[[:alpha:]]+', 1, 1) first, 
    regexp_substr('NIC132DA.1','[[:alpha:]]+', 1, 2) second 
from dual; 
+0

ありがとうございます。それはうまく動作し、私はより多くのアルファ文字でも試しました。 – imsome1

関連する問題