쿼리 질문입니다. 0 2 884

by idoris [2015.10.17 14:27:25]


KERRY///         => KERRY             ('/' 뒤에 널이면 삭제)
TMA///MIKE       => TMA/MIKE          ('//' 2개 이상 연속일 경우 '/' 1개만)
MARIA//CHRISTIAN => MARIA//CHRISTIAN  ('//' 2개 이상 연속일 경우 '/' 1개만)
위와 같은 결과를 얻으려면 쿼리를 어떻게 짜야할까요?

replace쓰려고 하니 애매하더라구요..

답변 부탁드립니다. ㅠ_ㅠ

by jkson [2015.10.19 08:27:36]
WITH T AS
(    
SELECT 'KERRY////' TEXT FROM DUAL
UNION ALL
SELECT 'TMA///MIKE' FROM DUAL
UNION ALL
SELECT 'MARIA//CHRISTIAN' FROM DUAL
)
SELECT REGEXP_REPLACE(REGEXP_REPLACE(TEXT,'/+','/'),'/$','') FROM T     

 


by 마농 [2015.10.19 17:06:08]
REPLACE(REPLACE(REPLACE(RTRIM(text, '/ '), '/', '*/'), '/*'), '*')

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입