[Oracle] 오라클 사이트 주소(URL) 자르기 (정규식, 추출, 도메인)
- 데이터베이스/오라클
- 2020. 2. 23.
오라클 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