오라클 마스킹 함수
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
오라클 마스킹 처리[편집]
--------------------------------------------------------------------------------
-- 읍,면,동 마스킹 처리
--------------------------------------------------------------------------------
WITH T
AS(
SELECT '서울시 용산구 논현동 114번지' AS TEST FROM DUAL UNION ALL
SELECT '부천시 소사구 심곡본동 527' AS TEST FROM DUAL UNION ALL
SELECT '강원도 횡성군 청일면 신대리' AS TEST FROM DUAL UNION ALL
SELECT '강원도 횡성군 청일면 소포동길 26' AS TEST FROM DUAL UNION ALL
SELECT '강원도 횡성군 차동면 소포동길 26' AS TEST FROM DUAL UNION ALL
SELECT '강원도 진도군 진도읍 소포리' AS TEST FROM DUAL
)
SELECT
REGEXP_REPLACE(TEST, '[^ ]+([동리가로])', '**\1') AS JUSO
, REGEXP_REPLACE(TEST, '[^ ]+([동리가로])', '**\2') AS JUSO
, REGEXP_REPLACE(TEST, '[^ ]+([동리가로])', '**\1') AS JUSO
, REGEXP_REPLACE(TEST, '[^ ]+([읍면동가로])', '**\1') AS JUSO
FROM T
;
-- 결과
1 서울시 용산구 **동 114번지 서울시 용산구 ** 114번지 서울시 용산구 **동 114번지 서울시 용산구 **동 114번지
2 부천시 소사구 **동 527 부천시 소사구 ** 527 부천시 소사구 **동 527 부천시 소사구 **동 527
3 강원도 횡성군 청일면 **리 강원도 횡성군 청일면 ** 강원도 횡성군 청일면 **리 강원도 횡성군 **면 신대리
4 강원도 횡성군 청일면 **동길 26 강원도 횡성군 청일면 **길 26 강원도 횡성군 청일면 **동길 26 강원도 횡성군 **면 **동길 26
5 강원도 횡성군 **동면 **동길 26 강원도 횡성군 **면 **길 26 강원도 횡성군 **동면 **동길 26 강원도 횡성군 **면 **동길 26
6 강원도 진도군 진도읍 **리 강원도 진도군 진도읍 ** 강원도 진도군 진도읍 **리 강원도 진도군 **읍 소포리
;