TRANSLATE

TRANSLATE (문자 치환)

문자열의 문자를 치환해요. 구체적으로, 문자열과 치환할 문자 집합, 그리고 원래 문자를 대체할 문자가 주어지면 TRANSLATE는 지정된 치환을 수행해요.

주의: 이 함수는 언어 간 번역을 하지 않아요. 자연어 간 텍스트 번역은 TRANSLATE (SNOWFLAKE.CORTEX) 함수를 참고해요.

출처: Snowflake SQL Reference - TRANSLATE

본문

구문

TRANSLATE( <subject>, <sourceAlphabet>, <targetAlphabet> )

인자

subject

번역되는 문자열 표현식이에요. subject의 문자가 sourceAlphabet에 없으면 그 문자는 어떤 번역도 없이 결과에 추가돼요.

sourceAlphabet

이 함수에 의해 수정되는 모든 문자를 가진 문자열이에요. 각 문자는 targetAlphabet의 해당 문자로 번역되거나 결과에서 생략돼요. targetAlphabet에 해당 문자가 없으면(즉, sourceAlphabet보다 문자가 적으면) 문자가 결과에서 생략돼요.

targetAlphabet

sourceAlphabet의 문자를 대체하는 데 사용되는 모든 문자를 가진 문자열이에요.

targetAlphabet이 sourceAlphabet보다 길면 Snowflake는 다음 오류를 보고해요:

String '(target alphabet)' is too long and would be truncated.

반환 값

이 함수는 VARCHAR 타입의 값을 반환해요.

데이터 정렬 세부 정보

데이터 정렬 사양이 있는 인자는 현재 지원되지 않아요. 데이터 정렬 사양은 오류를 반환하지 않고 무시돼요.

예시

문자 ñ을 n으로 번역해요:

SELECT TRANSLATE('peña', 'ñ', 'n') AS translation;
+-------------+
| TRANSLATION |
|-------------|
| pena        |
+-------------+

X를 c로, Y를 e로, Z를 f로 번역하고 ❄ 문자를 제거해요:

SELECT TRANSLATE('❄a❄bX❄dYZ❄', 'XYZ❄', 'cef') AS translation;
+-------------+
| TRANSLATION |
|-------------|
| abcdef      |
+-------------+

더 알아보기