2017-02-09 1 views
2

영문자 만 따로 추출하고 싶습니다. "NIC132DA.1"예 출력
어떤 숫자없이 별도로 "NIC"및 "DA"이어야한다. NICDA
밖으로 예상 넣어은 "NIC"별도로 "DA"입니다 :
오라클은 문자열에서 알파 문자를 추출합니다.

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

것은 내가 출력 다음 얻을 :
나는 다음과 같은 쿼리를 시도했다.
참고 : 알파 문자의 개수는 입력 문자열에 고정되어 있지 않습니다.

+0

네 별도의 열, 나는 단지 하나 개의 열 – imsome1

+0

예상 된 결과를 시도 내 쿼리를 "NIC한다 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

관련 문제