문자열 관련 질문입니다 도와주세요~ 0 2 1,340

by enoz12 [Oracle 기초] 질문 도와주세요 [2012.11.28 14:06:56]



http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=11080304&docId=162447557

http://wikipedia.org/wiki/%ED%95%9C%ED%9A%A8%EC%A3%BC

http://media.daum.net/life/living/list/newsview?newsId=20121126143914767&nil_no=273585

이렇게 3개의 데이터가 있는데요

앞단 주소가 네이버 이면 naver만 출력이되고 다음이면 다음만 출력을 하게 하려는데요
주소형태가 다르기 때문에 wikipedia << 이 주소 데이타는 공백으로 나와서 
방법을 찾고 있습니다 고수님들 도와주세요 ㅠㅠ 

아래는 이렇게 해놓긴했는데 추가 수정을 어떻게 해야될지 모르겠습니다
select SUBSTR( URL ,INSTR(URL ,'.',1,1)+1,INSTR(URL ,'.',1,2)-INSTR(URL ,'.',1,1)-1) AS SITENAME 
from TAACCESSLOG 
order by SEQ_ACCESS desc;
by 아발란체 [2012.11.28 14:40:55]
--정규식 이용
WITH TAACCESSLOG(URL) AS (
  SELECT 'http://kin.naver.com/qna/detail.nhn?d1id=11dirId=11080304docId=162447557' FROM DUAL UNION ALL
  SELECT 'http://wikipedia.org/wiki/%ED%95%9C%ED%9A%A8%EC%A3%BC' FROM DUAL UNION ALL
  SELECT 'http://media.daum.net/life/living/list/newsview?newsId=20121126143914767nil_no=273585' FROM DUAL UNION ALL
  SELECT 'DDD.DDD.DD/ASFDDADFSASDASD' FROM DUAL 
)
SELECT
  REGEXP_REPLACE(URL, '^([^://]*://|)([^/]*).*', '\2') 
FROM
  TAACCESSLOG

by 아발란체 [2012.11.28 14:42:11]
즉 SELECT 구문에
REGEXP_REPLACE(URL, '^([^://]*://|)([^/]*).*', '\2')
쓰시면 됩니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입