Catégories :

Fonctions de chaîne et fonctions binaires (Général)

TRANSLATE

Remplace les caractères d’une chaîne. Plus précisément, étant donné une chaîne, un ensemble de caractères à remplacer, et les caractères à substituer aux caractères originaux, TRANSLATE effectue les substitutions spécifiées.

Attention

Cette fonction n’effectue pas de traduction d’une langue à l’autre. Voir la fonction TRANSLATE (SNOWFLAKE.CORTEX) pour la traduction de texte entre langages naturels.

Syntaxe

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

Arguments

subject

Une expression de chaîne qui est traduite. Si un caractère dans subject n’est pas contenu dans sourceAlphabet, le caractère est ajouté au résultat sans être traduit.

sourceAlphabet

Une chaîne avec tous les caractères modifiés par cette fonction. Chaque caractère est soit traduit en caractère correspondant dans targetAlphabet, soit omis dans le résultat. Un caractère est omis dans le résultat si targetAlphabet n’a pas de caractère correspondant (c’est-à-dire qu’il a moins de caractères que sourceAlphabet).

targetAlphabet

Chaîne contenant tous les caractères utilisés pour remplacer les caractères de sourceAlphabet.

Si targetAlphabet est plus long que sourceAlphabet, Snowflake signale l’erreur suivante :

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

Renvoie

La fonction renvoie une valeur de type VARCHAR.

Détails du classement

Arguments with collation specifications currently aren’t supported. Collation specifications are ignored without returning an error.

Exemples

Traduire le caractère ñ en n :

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

Traduire X en c, Y en e, Z en f, et supprimer les caractères  :

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