오라클 문자열 치환 (REPLACE, TRANSLATE)
오라클에서 문자열 치환은 REPLACE와 TRANSLATE 함수를 사용하여 수행할 수 있습니다. 이 포스팅에서는 이 두 함수의 사용법과 예제에 대해 소개하겠습니다.
REPLACE 함수
REPLACE 함수는 문자열 내에서 특정 문자나 문자열을 다른 문자나 문자열로 치환하는 용도로 사용됩니다. REPLACE 함수의 구문은 다음과 같습니다.
REPLACE(원본문자열, 찾을문자열, 바꿀문자열)
- 원본문자열: 치환 작업을 수행할 원본 문자열입니다.
- 찾을문자열: 원본 문자열에서 치환 대상이 되는 문자열입니다.
- 바꿀문자열: 찾을 문자열을 바꿀 문자열로 치환합니다.
예를 들어, 다음과 같은 테이블이 있다고 가정해봅시다.
CREATE TABLE employees (
id NUMBER,
name VARCHAR2(100)
);
INSERT INTO employees (id, name) VALUES (1, 'John Doe');
INSERT INTO employees (id, name) VALUES (2, 'Jane Doe');
INSERT INTO employees (id, name) VALUES (3, 'Mark Smith');
이 테이블의 name 열에서 'Doe'를 'Smith'로 치환해보겠습니다.
SELECT id, REPLACE(name, 'Doe', 'Smith') AS new_name
FROM employees;
위의 SQL 문을 실행하면 다음과 같은 결과가 출력됩니다.
ID | NEW_NAME
-----|---------------
1 | John Smith
2 | Jane Smith
3 | Mark Smith
TRANSLATE 함수
TRANSLATE 함수는 문자열에서 특정 문자를 삭제하거나 다른 문자로 치환하는 용도로 사용됩니다. TRANSLATE 함수의 구문은 다음과 같습니다.
TRANSLATE(원본문자열, 삭제문자열, 치환문자열)
- 원본문자열: 치환 작업을 수행할 원본 문자열입니다.
- 삭제문자열: 원본 문자열에서 삭제할 문자열입니다.
- 치환문자열: 삭제된 문자열을 대체할 문자열입니다.
예를 들어, 다음과 같은 테이블이 있다고 가정해봅시다.
CREATE TABLE employees (
id NUMBER,
name VARCHAR2(100)
);
INSERT INTO employees (id, name) VALUES (1, 'John Doe');
INSERT INTO employees (id, name) VALUES (2, 'Jane Doe');
INSERT INTO employees (id, name) VALUES (3, 'Mark Smith');
이 테이블의 name 열에서 'o'와 'e'를 삭제해보겠습니다.
SELECT id, TRANSLATE(name, 'oe', '') AS new_name
FROM employees;
위의 SQL 문을 실행하면 다음과 같은 결과가 출력됩니다.
ID | NEW_NAME
-----|---------------
1 | Jhn D
2 | Jan D
3 | Mark Smith
정리
위의 예제를 통해 REPLACE와 TRANSLATE 함수의 사용법에 대해 알아보았습니다. REPLACE 함수는 원본 문자열 내에서 찾을 문자열을 바꿀 문자열로 치환하는데 사용되며, TRANSLATE 함수는 원본 문자열에서 삭제할 문자열을 정의하거나 치환할 문자열로 사용됩니다. 적절히 활용하면 문자열 치환 작업을 쉽게 수행할 수 있습니다.
댓글