SQL에서 REPLACE
함수와 REGEXP_REPLACE
함수를 사용하여 문자열 내의 특정 문자를 다른 문자로 대체하는 방법을 설명하고 있습니다. 이 함수들은 데이터 내 특정 패턴을 쉽게 변경하거나 숨길 때 매우 유용합니다.
SQL에서 특정 문자를 다른 문자로 변경하기: REPLACE
와 REGEXP_REPLACE
REPLACE
함수
REPLACE
함수는 문자열에서 지정된 문자를 다른 문자로 바꾸는 데 사용됩니다. 이 함수는 세 개의 인수를 받습니다:
- 원본 문자열
- 대체할 문자열
- 대체할 새 문자열
기본 예제:
SELECT ename, REPLACE(sal, '0', '*') AS masked_salary
FROM emp;
이 쿼리는 emp
테이블에서 급여(sal
)의 ‘0’ 문자를 ‘*’로 대체한 값을 반환합니다.
REGEXP_REPLACE
함수
REGEXP_REPLACE
함수는 정규 표현식을 사용하여 문자열의 패턴을 인식하고, 이를 다른 문자열로 대체할 수 있습니다. 이 함수는 더 복잡한 텍스트 패턴을 다룰 때 유용합니다.
응용 예제:
SELECT ename, REGEXP_REPLACE(sal, '[0-3]', '*') AS salary
FROM emp;
이 쿼리는 emp
테이블에서 급여(sal
)에 있는 숫자 0부터 3까지의 모든 숫자를 ‘*’로 대체하여 반환합니다.
연습 문제 및 해답
- 문제: 이름의 두 번째 자리에 있는 문자를 ‘*’로 대체하여 출력하시오.
- 해답:
sql SELECT REPLACE(ename, SUBSTR(ename, 2, 1), '*') AS masked_name FROM emp;