database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 40461 게시물 읽기
No. 40461
숫자 패턴 검색하여 변경
작성자
새터니(saturn77)
작성일
2014-05-19 15:12
조회수
8,036
varchar 컬럼에 텍스트와 숫자들이 혼용되어 입력되어 있습니다.
이 컬럼들에 포함된 주민번호와 계좌번호를 **** 로 바꾸거나 삭제하려면
어떤 방법이 좋을까요?
 
여러모로 고민을 해봐도 REGEXP_REPLACE의 숫자 갯수 카운트 방법이나,
패턴을 찾아서 update 시키는 방법을 잘 모르겠습니다. 
이 글에 대한 댓글이 총 4건 있습니다.

몇가지 케이스별 예시자료를 제시해 주시면 좋겠네요.

변경전 자료 ===> 변경후 자료

마농(manon94)님이 2014-05-19 16:04에 작성한 댓글입니다.

 --DML병렬처리를 위한 구문

 
ALTER SESSION ENABLE PARALLEL DML;
 
 
-----샘플 DB--------
 
WITH T 
AS
(
SELECT  /*+PARALLEL(A 4) FULL(A)*/12345678 AS CUST_ID
      , '텍스트텍스트 999999-123456,계좌번호113-1111-112345, 아이디 123ABCi텍스트 텍스트 텍스트' AS BIGO
   FROM  DUAL A
)
SELECT  CUST_ID
      , BIGO
      , regexp_replace(BIGO,'[^a-z,^A-Z,^가-힛,]','*') --숫자제외 컬럼 샘플
  FROM  T
;
 
위의 결과는 모든 숫자를 ***처리 해버리는 쿼리이고
원하는 건 주민번호와 계좌번호 패턴만 ***처리해 버리는 것입니다.
 
※ 주민번호와 계좌번호의 패턴을 고민을 해 봐도..(특수문자를 제거하고 붙여서 자리수가 10자리 이상만 * 처리해라??)  
 
 
 텍스트텍스트 999999-123456,계좌번호113-1111-112345, 아이디 123ABCi텍스트 텍스트 텍스트
 
=> 텍스트텍스트 *******-*******,계좌번호***-****-*****, 아이디 123ABCi텍스트 텍스트 텍스트
 
 

 

새터니(saturn77)님이 2014-05-20 10:45에 작성한 댓글입니다.
이 댓글은 2014-05-20 10:59에 마지막으로 수정되었습니다.

SELECT cust_id
     , bigo
     , REGEXP_REPLACE(REGEXP_REPLACE(bigo
       -- 1. 주민번호 패턴 --
       , '(^|[^0-9])([0-9]{6}-[0-9]{7})($|[^0-9])', '\1******-*******\3')
       -- 2. 계죄번호 패턴 --
       , '(^|[^0-9])([0-9]{3}-[0-9]{4}-[0-9]{6})($|[^0-9])', '\1***-****-******\3')
       AS result
  FROM t
;
-- 계좌번호는 좀더 다양한 패턴이 있을 듯 하네요...

마농(manon94)님이 2014-05-20 11:00에 작성한 댓글입니다.

 마농님 감사합니다 ~~~~

새터니(saturn77)님이 2014-05-20 11:22에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40464오라클 에러 로그(ora-04063)
디비초보
2014-05-20
8117
40463리눅스에서 테이블 스페이스 생성하기...
염정훈
2014-05-20
7012
40462outer join 조건에 대해 질문드립니다. [2]
coll
2014-05-19
6841
40461숫자 패턴 검색하여 변경 [4]
새터니
2014-05-19
8036
40460쿼리 좀 질문 드립니다.
천인성
2014-05-19
6383
40459쿼리 좀 질문 드립니다.
선한양심
2014-05-16
6201
40458쿼리 피봇문의드립니다. [1]
김진
2014-05-16
6449
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다