REPLACE (Transact-SQL)
Ersetzt alle Vorkommen eines angegebenen Zeichenfolgenwerts durch einen anderen Zeichenfolgenwert.
Transact-SQL-Syntaxkonventionen
Syntax
REPLACE ( string_expression , string_pattern , string_replacement )
Argumente
string_expression
Der Zeichenfolgenausdruck, der durchsucht werden soll. string_expression kann von einem Zeichen- oder Binärdatentyp sein.string_pattern
Die zu suchende Teilzeichenfolge. string_pattern kann von einem Zeichen- oder Binärdatentyp sein. string_pattern darf keine leere Zeichenfolge ('') sein und die maximal zulässige Anzahl von Bytes auf einer Seite nicht überschreiten.string_replacement
Die Ersetzungszeichenfolge. string_replacement kann von einem Zeichen- oder Binärdatentyp sein.
Rückgabetypen
Gibt nvarchar zurück, wenn eines der Eingabeargumente vom Datentyp nvarchar ist. Andernfalls wird von REPLACE varchar zurückgegeben.
Gibt NULL zurück, wenn eines der Argumente NULL ist.
Falls string_expression nicht den Typ varchar(max) oder nvarchar(max), aufweist, wird der Rückgabewert von REPLACE bei 8000 Byte abgeschnitten. Für die Rückgabe von Werten über 8000 Byte muss string_expression explizit in einen Datentyp mit umfangreichen Werten umgewandelt werden.
Hinweise
REPLACE führt Vergleiche auf der Basis der Sortierung der Eingabe durch. Um einen Vergleich in einer angegebenen Sortierung durchzuführen, können Sie mithilfe von COLLATE eine explizite Sortierung auf die Eingabe anwenden.
0x0000 (char(0)) ist ein nicht definiertes Zeichen in Windows-Sortierungen und kann nicht in REPLACE enthalten sein.
Beispiele
Das folgende Beispiel ersetzt die Zeichenfolge cde in abcdefghi durch xxx.
SELECT REPLACE('abcdefghicde','cde','xxx');
GO
Dies ist das Resultset.
------------
abxxxfghixxx
(1 row(s) affected)
Das folgende Beispiel verwendet die COLLATE-Funktion.
SELECT REPLACE('Das ist ein Test' COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO
Dies ist das Resultset.
------------
Das ist ein desk
(1 row(s) affected)