2013-09-06 2 views
-2

'귀하의 UTR SBINH13246802674 RTN'이것은 입력 사항입니다. 위 입력에서 'SBINH13246802674'만 가져 오십시오. 이 값은 다른 열에 삽입되므로 그 특정 값을 가져옵니다. 조건은 Oracle TRIM 기능 만 사용하는 것입니다. TRIM을 사용하여 그 값을 가져올 수 있습니까?TRIM을 사용하여 Oracle에서 주어진 입력 값을 가져 오는 방법은 무엇입니까?

+1

트림 (최고의 '당신의 UTR'에서 모든 데이터를 고려 갈 'YOUR UTR SBINH13246802674 RTN'); 트림 ('TRAILING'RTN 'FROM'SBINH13246802674 RTN '); – Satya

+0

트리밍은 트리밍을 위해 한 번에 하나의 문자 만 사용합니다. 내 11g에 대한 진술을 실행하면 다음과 같은 오류가 발생합니다. ORA-30001 : 트림 세트에 문자가 하나만 있어야합니다. 30001. 00000 - "트림 세트는 한 문자 만 사용해야합니다." * 원인 : 트림 세트가 1 문자보다 많거나 적습니다. TRIM 기능에서는 이 허용되지 않습니다. –

+1

_ "조건은 Oracle TRIM 함수"_ 만 사용하는 것입니까? 이 작업을 수행하는 데 더 좋은 방법이 있습니다. – Ben

답변

0

당신은 선택 쿼리 아래에 사용할 수 있습니다

SELECT TRIM(' ' FROM TRIM(TRAILING 'R' FROM TRIM(TRAILING 'T' FROM TRIM(TRAILING 'N' FROM TRIM('R' FROM TRIM('T' FROM TRIM('U' FROM 
     TRIM(' ' FROM TRIM('R' FROM TRIM('U' FROM TRIM('O' FROM TRIM('Y' FROM 'YOUR UTR SBINH13246802674 RTN')))))))))))) DATA 
FROM DUAL; 

이 방법은 원치 않는 문자열, 한 번에 하나 개의 문자를 꺼내 반복 트림 사용합니다.

이 작업을 수행하는 더 좋은 방법은, 그러나,이다 :

SELECT REPLACE(REPLACE('YOUR UTR SBINH13246802674 RTN', 'YOUR UTR '), ' RTN') 
FROM DUAL; 
0

만 다음 아래 사용 트림을 사용합니다.

select rtrim(ltrim('YOUR UTR SBINH13246802674 RTN', 'YOUR UTR '), 'RTN') from dual; 

당신이 어떤 기능을해야 할 경우, 아래가 동일한 형식 및 길이 "당신의 UTR {DATA}"

select substr('YOUR UTR SBINH13246802674 RTN' , 10, 16) from dual; 
+0

http://sqlfiddle.com/#!4/9298f/6 –

관련 문제