행위

"오라클 마스킹 함수"의 두 판 사이의 차이

DB CAFE

(새 문서: == 오라클 마스킹 처리 == <source lang=sql> -------------------------------------------------------------------------------- -- 읍,면,동 마스킹 처리 ------------------...)
 
30번째 줄: 30번째 줄:
 
;
 
;
 
</source>
 
</source>
 +
[[Category:oracle]]

2019년 12월 22일 (일) 15:17 판

thumb_up 추천메뉴 바로가기


오라클 마스킹 처리[편집]

--------------------------------------------------------------------------------
-- 읍,면,동 마스킹 처리 
--------------------------------------------------------------------------------
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  강원도 진도군 진도읍 **리  강원도 진도군 진도읍 **  강원도 진도군 진도읍 **리  강원도 진도군 **읍 소포리
;