Zusammenfassung: In diesem Tutorial lernen Sie, wie Sie die SQL Server TRANSLATE()
-Funktion verwenden, um mehrere Einzelzeichen zu ersetzen und in einem Vorgang eins zu eins zu übersetzen.
Übersicht über die Funktion TRANSLATE() von SQL Server
Die Funktion TRANSLATE()
gibt eine Zeichenfolge zurück, bei der die im zweiten Argument angegebenen Zeichen durch die übereinstimmenden Zeichen des dritten Arguments ersetzt werden.
Das Folgende veranschaulicht die Syntax der Funktion TRANSLATE()
:
Code language: SQL (Structured Query Language) (sql)
In dieser Syntax:
-
input_string
ist eine zu durchsuchende Zeichenfolge. Es kann eine literale Zeichenfolge, ein Zeichenausdruck oder eine Spalte sein. -
from_characters
ist ein Zeichenfolgenausdruck, der die zu ersetzenden Zeichen enthält. -
to_characters
ist ein Zeichenfolgenausdruck, der die Ersetzungszeichen enthält.
Wenn die Längen von from_characters
und to_characters
unterschiedlich sind, gibt die Funktion TRANSLATE()
einen Fehler zurück.
Wenn ein Argument NULL ist, gibt die Funktion TRANSLATE()
NULL zurück.
SQL Server TRANSLATE()-Funktionsbeispiele
Das folgende Beispiel verwendet die Funktion TRANSLATE()
, um eckige Klammern durch Klammern zu ersetzen:
Code language: SQL (Structured Query Language) (sql)
Hier ist die Ausgabe:
Die Anweisung ist äquivalent zum zweimaligen Aufruf der Funktion REPLACE()
:
Code language: SQL (Structured Query Language) (sql)
TRANSLATE() vs. REPLACE()
Die Funktion TRANSLATE()
verhält sich ähnlich wie der Aufruf mehrerer REPLACE()
-Funktionen.
Die Funktion TRANSLATE()
ersetzt jedoch nicht alle Vorkommen eines Zeichens durch ein neues. Dies ist der Unterschied zwischen der Funktion TRANSLATE()
und dem Aufruf mehrerer REPLACE()
-Funktionen. Jeder REPLACE()
-Funktionsaufruf würde alle relevanten Zeichen ersetzen.
In diesem Lernprogramm haben Sie gelernt, wie Sie die SQL Server-Funktion TRANSLATE()
verwenden, um mehrere Einzelzeichen in einem Vorgang durch eine Eins-zu-Eins-Übersetzung zu ersetzen.