2017-11-14 3 views
0

sql의 urls에서 파일 이름을 검색하려고합니다.SQL에서 문자열에서 특정 부분을 가져 오는 방법

입력 :

URL :

https://www.google.co.in/root/subdir/file.extension?p1=v1&p2=v2 https://www.abxdhcak.com/sitemap-companies.xml

후 출력이 같아야

file.extension

맵 - companies.xml

예 0
+0

SO는 코드 작성 서비스가 아닙니다. 무엇을 시도 했습니까? – HoneyBadger

+0

SUBSTRING (string_expression, CHARINDEX (expression_to_find, string_expression)) .... 나는이 코드를 안다.하지만 'expression_to_find'에 넣어야하는 것은 혼란 스럽다. '/'많은 시간이 걸린다 .... – Paras

+0

oracle REGEXP 함수는 도움이 될 수 있지만, 당신이 좀 더 복잡한 처리가 필요합니다 생각하면 원하는 패턴에서 많은 패턴을 인식하고 싶습니다. 무엇이 URL 목록이 될 것인가? 그것은 고정되거나 아무것도 될 수 있습니까? 어떻게 프로그램이 사이트 맵을 알고 있습니까? -companies.xml이 출력이되며 URL에 더하기 페이지가있는 경우는 무엇입니까? https://www.abxdhcak.com/sitemap/companies/sitemap-companies.xml – Thomas

답변

0

REGEXP_REPLACE

REGEXP_REPLACE(txt, '^.*/|\?.*$') as rg 

사용할 수있는 예상 출력과 일치하려면이 두 가지 않습니다 :

'^.*/' 

이와 문자열의 마지막 슬래시를 포함한 모든 문자를 제거합니다.

'\?.*$' 

이렇게하면 물음표 뒤에 나오는 모든 문자가 제거됩니다.

모든 경우에 적용되는 것은 아니지만 제공되는 예제에서 작동합니다.

+0

고맙습니다 .. 입력에 임의성 때문에 질의를 작성하는 것이 매우 어려워 보입니다. – Paras

관련 문제