본문 바로가기
카테고리 없음

오라클 문자열 치환 (REPLACE, TRANSLATE) 사용법 & 예제

by sftt 2023. 12. 1.

REPLACE와 TRANSLATE 함수를 이용한 문자열 치환

데이터베이스에서 문자열을 다룰 때 REPLACE 함수와 TRANSLATE 함수는 매우 유용한 함수입니다. 이 두 함수를 이용하면 특정 문자열을 다른 문자열로 치환하거나 문자열 내의 특정 문자를 다른 문자로 바꿀 수 있습니다. 이번 포스팅에서는 REPLACE 함수와 TRANSLATE 함수의 사용법과 예제에 대해 알아보겠습니다.

REPLACE 함수

REPLACE 함수는 하나의 문자열 내에서 특정 문자열을 찾아서 다른 문자열로 치환해주는 함수입니다. 이 함수의 기본 구문은 다음과 같습니다.

REPLACE(원본문자열, 찾을문자열, 치환할문자열)
  • 원본문자열: 치환 작업을 수행할 원본 문자열입니다.
  • 찾을문자열: 원본 문자열에서 치환할 문자열을 찾기 위한 조건입니다.
  • 치환할문자열: 찾을 문자열을 치환할 문자열로 바꿉니다.

REPLACE 함수는 한 번에 하나의 문자열만을 찾을 수 있습니다. 다음은 REPLACE 함수의 간단한 예제입니다.

SELECT REPLACE('Hello, World!', 'Hello', 'Hi') as result FROM dual;

위 SQL 문은 'Hello, World!' 문자열 내에서 'Hello'를 찾아서 'Hi'로 치환한 결과를 출력합니다. 즉, 결과는 'Hi, World!'가 됩니다.

TRANSLATE 함수

TRANSLATE 함수는 문자열 내의 문자를 다른 문자로 바꾸는 매우 강력한 함수입니다. 이 함수는 한 번에 여러 개의 문자열을 치환할 수 있습니다. TRANSLATE 함수의 기본 구문은 다음과 같습니다.

TRANSLATE(원본문자열, 찾을문자열, 치환할문자열)
  • 원본문자열: 치환 작업을 수행할 원본 문자열입니다.
  • 찾을문자열: 원본 문자열에서 치환할 문자열을 찾기 위한 조건입니다.
  • 치환할문자열: 찾을 문자열 대신 치환할 문자열을 나열합니다.

TRANSLATE 함수는 찾을 문자열의 길이, 치환할 문자열의 길이, 원본 문자열의 길이가 동일해야만 합니다. 동일하지 않은 경우에는 NULL을 반환합니다. 다음은 TRANSLATE 함수의 예제입니다.

SELECT TRANSLATE('Hello, World!', 'Held', 'Bodd') as result FROM dual;

위 SQL 문은 'Hello, World!' 문자열 내에서 'Held' 문자열을 찾아서 차례대로 'Bodd' 문자열로 바꾼 결과를 출력합니다. 즉, 결과는 'Bello, Word!'가 됩니다.

REPLACE 함수와 TRANSLATE 함수의 차이점

REPLACE 함수와 TRANSLATE 함수는 비슷해 보이지만 다음과 같은 차이점이 있습니다.

  • REPLACE 함수는 특정 문자열을 다른 문자열로 일괄 치환합니다. 문자열 내에서 모든 발생을 찾아서 치환합니다.
  • TRANSLATE 함수는 원본 문자열과 치환할 문자열의 개별 문자를 1:1로 대응하여 치환이 이루어집니다. 예를 들어, 'H'를 'B'로, 'e'를 'o'로, 'l'을 'd'로, 'o'를 'd'로 치환한다고 가정하면, 'Hello'는 'Bodd'로 치환됩니다.

이상으로 REPLACE 함수와 TRANSLATE 함수를 이용한 문자열 치환에 대해 알아보았습니다. REPLACE 함수는 단순한 문자열 치환에 사용되고, TRANSLATE 함수는 개별 문자를 대체할 때 사용됩니다. 각 함수의 성격에 맞게 적절하게 사용하여 문자열 처리를 효율적으로 수행해보세요!

댓글