Freigeben über


REPLACE (Transact-SQL)

Ersetzt alle Vorkommen eines angegebenen Zeichenfolgenwertes durch einen anderen Zeichenfolgenwert.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

REPLACE ( string_expression , string_pattern , string_replacement )

Argumente

  • string_expression
    Der zu durchsuchende Zeichenfolgenausdruck. string_expression kann von einem Zeichen- oder Binärdatentyp sein.

  • string_pattern
    Ist die zu suchende Teilzeichenfolge. string_pattern kann ein Zeichen- oder binärer Datentyp sein. string_pattern kann keine leere Zeichenfolge ('') sein.

  • 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 varchar zurückgegeben.

Gibt NULL zurück, wenn eines der Argumente NULL ist.

Wenn string_expression nicht vom Typ varchar(max) oder nvarchar(max),REPLACE ist, wird der Rückgabewert bei 8.000 Bytes abgeschnitten. Für die Rückgabe von Werten mit mehr als 8.000 Bytes 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 darf nicht in REPLACE eingeschlossen werden.

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)