[SQL] 020. 특정 철자를 다른 철자로 변경하기
Updated:
초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.
오라클 SQL을 기반으로 합니다.
실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.
REPLACE를 이용해서 특정 철자를 다른 철자로 변경 가능하다.
REPLACE(컬럼, OLD_TEXT, NEW_TEXT)로 OLD_TEXT를 NEW_TEXT로 변경한다.
[예시]
SAL의 0을 모두 별표(*)로 변경한다.
SELECT ENAME, REPLACE(SAL, 0, '*') AS VAR1
FROM EMP;
[결과]
| ENAME | VAR1 |
|---|---|
| KING | 5*** |
| BLAKE | 285* |
| CLARK | 245* |
| JONES | 2975 |
| MARTIN | 125* |
| ALLEN | 16** |
| TURNER | 15** |
| JAMES | 95* |
| WARD | 125* |
| FORD | 3*** |
| SMITH | 8** |
| SCOTT | 3*** |
| ADAMS | 11** |
| MILLER | 13** |
[예시2]
참고로 REGEXP_REPLACE로도 특정 철자를 다른 철자로 변경 가능하다.
다음 예시는 SAL의 숫자 0~3을 모두 별표(*)로 바꿔준다.
SELECT ENAME, REGEXP_REPLACE(SAL, '[0-3]', '*') AS VAR1
FROM EMP;
[결과2]
| ENAME | VAR1 |
|---|---|
| KING | 5*** |
| BLAKE | *85* |
| CLARK | *45* |
| JONES | *975 |
| MARTIN | **5* |
| ALLEN | *6** |
| TURNER | *5** |
| JAMES | 95* |
| WARD | **5* |
| FORD | **** |
| SMITH | 8** |
| SCOTT | **** |
| ADAMS | **** |
| MILLER | **** |
Leave a comment