

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# TRANSLATE 함수
<a name="r_TRANSLATE"></a>

임의의 표현식에서 발견되는 모든 지정 문자를 지정한 대체 문자로 변경합니다. 기존 문자는 *characters\$1to\$1replace*의 문자 위치와 *characters\$1to\$1substitute* 인수에 따라 변환 문자로 매핑됩니다. *characters\$1to\$1replace* 인수에서 지정하는 문자 수가 *characters\$1to\$1substitute* 인수에서 지정하는 문자 수보다 많으면 *characters\$1to\$1replace* 인수의 추가 문자가 반환 값에서 생략됩니다.

TRANSLATE는 [REPLACE 함수](r_REPLACE.md) 및 [REGEXP\$1REPLACE 함수](REGEXP_REPLACE.md)과 비슷합니다. 단, REPLACE는 전체 문자열 하나를 다른 문자열로 변경하고, REGEXP\$1REPLACE는 문자열에서 정규 표현식 패턴을 검색하는 반면 TRANSLATE는 단일 문자를 여러 차례 변경합니다.

인수가 NULL이면 반환되는 값도 `NULL`입니다.

## 구문
<a name="r_TRANSLATE-synopsis"></a>

```
TRANSLATE( expression, characters_to_replace, characters_to_substitute )
```

## 인수
<a name="r_TRANSLATE-arguments"></a>

 * expression*   
변환 대상인 표현식입니다.

 *characters\$1to\$1replace*   
변경 대상인 문자가 포함된 문자열입니다.

 *characters\$1to\$1substitute*   
대체할 문자가 포함된 문자열입니다.

## 반환 타입
<a name="r_TRANSLATE-return-type"></a>

VARCHAR

## 예제
<a name="r_TRANSLATE-examples"></a>

문자열에서 여러 문자를 바꾸려면 다음 예제를 사용합니다.

```
SELECT TRANSLATE('mint tea', 'inea', 'osin');

+-----------+
| translate |
+-----------+
| most tin  |
+-----------+
```

다음 예제에서는 TICKIT 샘플 데이터베이스의 USERS 테이블을 사용합니다. 자세한 내용은 [샘플 데이터베이스](c_sampledb.md) 섹션을 참조하세요.

열의 모든 값에 대해 at 기호(@)를 마침표로 바꾸려면 다음 예제를 사용합니다.

```
SELECT email, TRANSLATE(email, '@', '.') as obfuscated_email
FROM users LIMIT 10;

+---------------------------------------+---------------------------------------+
|                 email                 |           obfuscated_email            |
+---------------------------------------+---------------------------------------+
| Cum@accumsan.com                      | Cum.accumsan.com                      |
| lorem.ipsum@Vestibulumante.com        | lorem.ipsum.Vestibulumante.com        |
| non.justo.Proin@ametconsectetuer.edu  | non.justo.Proin.ametconsectetuer.edu  |
| non.ante.bibendum@porttitortellus.org | non.ante.bibendum.porttitortellus.org |
| eros@blanditatnisi.org                | eros.blanditatnisi.org                |
| augue@Donec.ca                        | augue.Donec.ca                        |
| cursus@pedeacurna.edu                 | cursus.pedeacurna.edu                 |
| at@Duis.com                           | at.Duis.com                           |
| quam@facilisisvitaeorci.ca            | quam.facilisisvitaeorci.ca            |
| mi.lorem@nunc.edu                     | mi.lorem.nunc.edu                     |
+---------------------------------------+---------------------------------------+
```

 열의 모든 값에 대해 공백을 밑줄로 바꾸고 마침표를 제거하려면 다음 예제를 사용합니다.

```
SELECT city, TRANSLATE(city, ' .', '_') 
FROM users
WHERE city LIKE 'Sain%' OR city LIKE 'St%'
GROUP BY city
ORDER BY city;

+----------------+---------------+
|      city      |   translate   |
+----------------+---------------+
| Saint Albans   | Saint_Albans  |
| Saint Cloud    | Saint_Cloud   |
| Saint Joseph   | Saint_Joseph  |
| Saint Louis    | Saint_Louis   |
| Saint Paul     | Saint_Paul    |
| St. George     | St_George     |
| St. Marys      | St_Marys      |
| St. Petersburg | St_Petersburg |
| Stafford       | Stafford      |
| Stamford       | Stamford      |
| Stanton        | Stanton       |
| Starkville     | Starkville    |
| Statesboro     | Statesboro    |
| Staunton       | Staunton      |
| Steubenville   | Steubenville  |
| Stevens Point  | Stevens_Point |
| Stillwater     | Stillwater    |
| Stockton       | Stockton      |
| Sturgis        | Sturgis       |
+----------------+---------------+
```