Kategorien:

Zeichenfolgen- und Binärfunktionen (Allgemein)

TRANSLATE

Ersetzt die 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.

Achtung

Diese Funktion kann nicht zwischen Sprachen übersetzen. Möglichkeiten zum Übersetzen von Text zwischen natürlichen Sprachen bietet die Funktion TRANSLATE (SNOWFLAKE.CORTEX).

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 auf targetAlphabet übersetzt oder im Ergebnis weggelassen. Ein Zeichen wird im Ergebnis ausgelassen, wenn targetAlphabet kein entsprechendes Zeichen hat (d. h. weniger Zeichen hat als sourceAlphabet).

targetAlphabet

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

Wenn targetAlphabet länger ist als sourceAlphabet, meldet Snowflake den folgenden Fehler:

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

Rückgabewerte

Gibt einen Wert vom Typ VARCHAR zurück.

Sortierungsdetails

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

Beispiele

Übersetzen Sie das Zeichen ñ in n:

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

Übersetzen Sie X in c, Y in e, Z in f und entfernen Sie -Zeichen:

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