오라클 정규식을 활용한 전화번호 자르기
전화번호라 하면 일반 전화번호에서 핸드폰번호까지 다양한 형태의 번호가 존재
02로 시작하는 번호, 080으로 시작하는 번호, 010, 011 로 시작하는 번호 등
다양한 번호의 유형이 있어 이걸 일반쿼리문으로 구분자를 넣거나, 자르기를 하는 것은
쿼리문도 길어질뿐 아니라 다양한 유형에 대한 처리가 어려움
그래서 정규식을 활용한 전화번호 자르기 및 구분자 넣기
SELECT REGEXP_REPLACE('전화번호','(02|031|032|033|041|042|043|051|052|053|054|055|061|062|063|064'||'|010|011|016|017|018|019'||'|030|050|060|070|080)'||'(.+)(.{4})','\1-\2-\3')
FROM DUAL
;
예제
SELECT REGEXP_REPLACE(PHONE_NUMBER,'(02|031|032|033|041|042|043|051|052|053|054|055|061|062|063|064'||'|010|011|016|017|018|019'||'|030|050|060|070|080)'||'(.+)(.{4})','\1-\2-\3') PHONE_NUMBER,
REGEXP_REPLACE(PHONE_NUMBER,'(02|031|032|033|041|042|043|051|052|053|054|055|061|062|063|064'||'|010|011|016|017|018|019'||'|030|050|060|070|080)'||'(.+)(.{4})','\1') PHONE_NO1,
REGEXP_REPLACE(PHONE_NUMBER,'(02|031|032|033|041|042|043|051|052|053|054|055|061|062|063|064'||'|010|011|016|017|018|019'||'|030|050|060|070|080)'||'(.+)(.{4})','\2') PHONE_NO2,
REGEXP_REPLACE(PHONE_NUMBER,'(02|031|032|033|041|042|043|051|052|053|054|055|061|062|063|064'||'|010|011|016|017|018|019'||'|030|050|060|070|080)'||'(.+)(.{4})','\3') PHONE_NO3
FROM (SELECT '0222223333' PHONE_NUMBER FROM DUAL UNION ALL
SELECT '01044445555' PHONE_NUMBER FROM DUAL UNION ALL
SELECT '0116667777' PHONE_NUMBER FROM DUAL UNION ALL
SELECT '08088889999' PHONE_NUMBER FROM DUAL)
;
이처럼 지역번호부터 핸드폰번호까지 여러유형의 전화번호 자르기 및 구분자 넣기가 가능
오라클 NVL, NVL2 함수의 예제 (2) | 2016.03.03 |
---|---|
오라클 예외처리(EXCEPTION) 1편, PRAGMA EXCEPTION_INIT (0) | 2016.02.05 |
오라클 비율구하기 RATIO_TO_REPORT 예제 (0) | 2016.01.26 |
오라클 컬럼 추가, 삭제, 변경 예시 (0) | 2016.01.20 |
오라클 AS OF TIMESTAMP 예제 및 활용, 수정 전 데이터 확인 (0) | 2016.01.19 |
댓글 영역