[Oracle] 오라클 사이트 주소(URL) 자르기 (정규식, 추출, 도메인)

오라클 URL 자르기

 

오라클에서 사이트 주소(URL)의 hostname을 추출 할 수 있는 함수는 없다. 그러나 정규식 함수를 사용하여 비슷하게 주소를 잘라서 hostname을 추출 할 수 있다.

 

아래는 REGEXP_REPLACE 정규식 함수를 이용하여 URL을 자른는 방법이다.

 

SELECT REGEXP_REPLACE('https://www.google.com/?hl=ko'
                    , '(http[s]?://)?(.*?)((/|:)(.)*|$)', '\1') protocol 
     , REGEXP_REPLACE('https://www.google.com/?hl=ko'
                    , '(http[s]?://)?(.*?)((/|:)(.)*|$)', '\2') hostname 
     , REGEXP_REPLACE('https://www.google.com/?hl=ko'
                    , '(http[s]?://)?(.*?)((/|:)(.)*|$)', '\3') pathname                      
  FROM DUAL

 


 

WWW 제거 방법

 

hostname의 WWW를 제거하기 위해서는 정규 표현식을 추가해 주면 된다. 

추가할 표현식 : (www\.)?

SELECT 'https://www.google.com'                                         site_url 
     , REGEXP_REPLACE('https://www.google.com'
                    , '(http[s]?://)?(www\.)?(.*?)((/|:)(.)*|$)', '\3') hostname1 
     , REGEXP_REPLACE('https://news.google.com'
                    , '(http[s]?://)?(www\.)?(.*?)((/|:)(.)*|$)', '\3') hostname2 
  FROM DUAL

 


WWW는 제거 되었지만 서브도메인(NEWS)는 제거 할 수 없다.

 

참고 : https://stackoverflow.com/questions/21064080/get-domain-from-url-in-oracle-sql

 

 

댓글

Designed by JB FACTORY