안녕하세요
정규식 관련해서 질문있어 올립니다.
ex)
SELECT REGEXP_REPLACE(SUBSTR(TEL_NO, 1, LENGTH(TEL_NO) -4) || DECODE(TEL_NO, NULL,'','****'),'(02|.{3})(.+)(.{4})','\1-\2-\3') AS TEL_NO
FROM 테이블
결과
010-1234-****
02-345-****
이런식으로 처리 되는데
정규식으로 지역번호가 없을 경우에 처리를 어떻게 해야되는지 궁금합니다..
현재는 case when 조건을 통해 문자열 길이별로 처리하고는 있습니다.
WITH t AS ( SELECT '01012345678' tel_no FROM dual UNION ALL SELECT '023456789' FROM dual UNION ALL SELECT '05123456789' FROM dual UNION ALL SELECT '12345678' FROM dual UNION ALL SELECT '1234567' FROM dual ) SELECT tel_no , LTRIM(REGEXP_REPLACE(tel_no , '(02|031|032|033|041|042|043|044|051|052|053|054|055|061|062|063|064' || '|010|011|016|017|018|019' || '|030|050|060|070|080)?(.+)(....)' , '\1-\2-****' ), '-') tel_no_ FROM t ;