2016-07-05 2 views
0

내 데이터 내가 추출 할 수는 5로 시작하고 항상 10 자리입니다이문자열에서 특정 번호를 추출하는 방법을

Goods Receipt required for document 5105250265 from Vendor 
Goods Receipt(s) have been fully taken for document 5105295587 
Goods Receipt required for document 5105285525 from Vendor 
Please process Vendor invoice from CARDIFF COUNTY COUNC, reference 1801314625 
Goods Receipt required for document 5105302265 from Vendor 

처럼 보일 수 있습니다.

이 번호를 추출하는 가장 좋은 방법은 무엇입니까?

있는 최선을 마련 할 수는

select regexp_replace(column, '[A-Za-z]') from table 

하지만이 숫자는 당신이 가지고 있다고 가정 긴 5 또는 10 자리

답변

2

로 시작 확인하지 않습니다 최대 하나 개의 번호 검색되었습니다 다음을 시도해 볼 수 있습니다.

with test (text) as 
(
select 'Goods Receipt required for document 5105250265 from Vendor' from dual union all 
select 'Goods Receipt(s) have been fully taken for document 5105295587' from dual union all 
select 'Goods Receipt required for document 5105285525 from Vendor' from dual union all 
select 'Please process Vendor invoice from CARDIFF COUNTY COUNC, reference 1801314625' from dual union all 
select 'Goods Receipt required for document 5105302265 from Vendor' from dual 
) 
select regexp_substr(text, '5[0-9]{9}') 
from test 
+0

완벽! 고맙습니다. – totalitarian

관련 문제