[오라클]개인정보중 일부 문자 치환 문의 0 1 730

by kkang [SQL Query] [2019.05.16 10:18:27]


안녕하세요. 초보 개발자 입니다.

개인정보 데이터 항목을 * 로 보여지게 하고 싶은데요. 제가 하는 방법이 맞는지

혹시 다른 좋은 방법이 있는지 문의 드려요.

그리고 이름을 항목을

강*동

이*리

홍*동

강*호군  이런식 표현 하고 싶은데 보통 어떻게 표현해서 화면에 표현하는지 요? 

 

WITH emp_table AS
(
SELECT '강호동' emp_name, 'kanghodong' emp_id, 'abcd@naver.com' email FROM dual
UNION ALL SELECT '이효리', 'leehyo', 'efgh@hanmail.net' FROM dual
UNION ALL SELECT '홍길동', 'abedhong', 'hong@nate.com' FROM dual
UNION ALL SELECT '강백호군', 'backho', 'backho@gmail.com' FROM dual
)
SELECT emp_name
    
     , emp_id
     , RPAD(SUBSTR(emp_id, 0, length(emp_id) - 3 ), length(emp_id), '*') as emp_id2
     , email
     , RPAD(SUBSTR(email, 0, length(email) - 3 ), length(email), '*') as email2
FROM emp_table t
 
       

by 마농 [2019.05.16 10:55:25]

email2 부분은 정보보호가 전혀 안되는데요?
 - 치환 규칙을 바꿔야 할 듯 하네요.
 - 뒤 3자리가 아닌 다른 규칙으로.
 

WITH emp_table AS
(
SELECT '강호동' emp_name, 'kanghodong' emp_id, 'abcd@naver.com' email FROM dual
UNION ALL SELECT '이효리'  , 'leehyo'  , 'efgh@hanmail.net' FROM dual
UNION ALL SELECT '홍길동'  , 'abedhong', 'hong@nate.com'    FROM dual
UNION ALL SELECT '강백호군', 'backho'  , 'backho@gmail.com' FROM dual
)
SELECT emp_name
     , SUBSTR(emp_name, 1, 1) ||'*'|| SUBSTR(emp_name, 3) emp_name2
     , emp_id
     , SUBSTR(emp_id, 1, LENGTH(emp_id) - 3) || '***' emp_id2
     , email
     , SUBSTR(email , 1, length(email ) - 3) || '***' email2  -- 이건 바꿔야 할 듯
  FROM emp_table t
;

 

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