Catégories :

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

TRANSLATE

La fonction TRANSLATE() remplace les caractères dans 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.

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 le targetAlphabet, soit 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 String '(target alphabet)' is too long and would be truncated..

Détails du classement

Arguments with collation specifications are currently not supported.

Exemples

Traduisez le caractère “ñ” en “n”.

SELECT TRANSLATE('peña','ñ','n');
+---------------------------+
| TRANSLATE('PEÑA','Ñ','N') |
|---------------------------|
| pena                      |
+---------------------------+
Copy

Traduisez “X” en “c”, “Y” en “e”, “Z” en “f” et supprimez les caractères “❄” :

SELECT TRANSLATE('❄a❄bX❄dYZ❄','XYZ❄','cef');
+--------------------------------------+
| TRANSLATE('❄A❄BX❄DYZ❄','XYZ❄','CEF') |
|--------------------------------------|
| abcdef                               |
+--------------------------------------+
Copy