Freigeben über


REPLACE (Transact-SQL)

Ersetzt alle Vorkommen eines angegebenen Zeichenfolgenwerts durch einen anderen Zeichenfolgenwert.

Themenlink (Symbol) 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)

Siehe auch

Verweis

Datentypen (Transact-SQL)

Zeichenfolgenfunktionen (Transact-SQL)