본문 바로가기
컴퓨터/SQL

[SQL] 주민번호 뒷자리를 전부 *로 바꾸기 (RPAD, SUBSTR, INSTR, LENGTH)

by 버니케이 2021. 11. 24.
반응형

 

SQL로 특정 위치 기준, 모든 문자를 *로 바꾸기를 시도했다.

 

[0] 사용한 커맨드

1. SUBSTR (데이터, 시작위치, 추출길이) : 문자에서 특정 위치의 문자열을 추출함

2. INSTR(데이터, 찾을문자, 시작위치, 순번) : 데이터의 특정 철자의 위치를 출력함

3. RPAD(데이터, 총 자릿수, 채울문자) : 총 자리수를 지정하고, 빈 공간을 채울 문자로 대체해서 출력

4. LENGTH(데이터) : 데이터의 문자열 길이를 출력

 

 

[1] 주민번호 '123456-1234567' 의 뒤 7자리를 모두 *로 바꾸기

SELECT RPAD(SUBSTR('123456-1234567',1,INSTR('123456-1234567','-')),LENGTH('123456-1234567'),'*') 
	FROM DUAL;

 

 

 

 

 

[2] 전화번호 '010-1234-5678' 의 뒤 4자리를 모두 *로 바꾸기

SELECT RPAD(SUBSTR('010-1234-5678',1 ,INSTR('010-1234-5678','-',1,2)),LENGTH('010-1234-5678'),'*') 
	FROM DUAL;
반응형

댓글