Kategorien:

Zeichenfolgen- und Binärfunktionen (Allgemein)

TRANSLATE

Die Funktion TRANSLATE() ersetzt Zeichen in einer Zeichenfolge. Bei einer gegebenen Zeichenfolge, einer Menge zu ersetzender Zeichen und bei Zeichen, die die ursprünglichen Zeichen ersetzen sollen, nimmt TRANSLATE() die angegebenen Ersetzungen vor.

Syntax

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

Argumente

subject

Ein Zeichenfolgenausdruck, der übersetzt werden soll. Wenn ein Zeichen in subject nicht in sourceAlphabet enthalten ist, wird das Zeichen ohne Übersetzung zum Ergebnis hinzugefügt.

sourceAlphabet

Eine Zeichenfolge mit allen Zeichen, die von dieser Funktion geändert werden. Jedes Zeichen wird entweder in das entsprechende Zeichen des Zielalphabets targetAlphabet übersetzt oder im Ergebnis weggelassen, wenn das Zielalphabet targetAlphabet kein entsprechendes Zeichen aufweist (d. h. weniger Zeichen als Quellalphabet sourceAlphabet hat).

targetAlphabet

Eine Zeichenfolge mit allen Zeichen, die zum Ersetzen von Zeichen aus dem sourceAlphabet verwendet werden.

Wenn das Zielalphabet targetAlphabet länger ist als das Quellalphabet sourceAlphabet, meldet Snowflake den Fehler String '(target alphabet)' is too long and would be truncated..

Sortierungsdetails

Arguments with collation specifications are currently not supported.

Beispiele

Übersetzen des Zeichens „ñ“ in das Zeichen „n“.

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

Übersetzen von „X“ in „c“, „Y“ in „e“, „Z“ in „f“ und Entfernen des Zeichens „❄“:

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