REPLACE (Transact-SQL)REPLACE (Transact-SQL)

DIESES THEMA GILT FÜR: jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Ersetzt alle Vorkommen eines angegebenen Zeichenfolgenwerts durch einen anderen Zeichenfolgenwert.Replaces all occurrences of a specified string value with another string value.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

REPLACE ( string_expression , string_pattern , string_replacement )  

ArgumenteArguments

string_expressionstring_expression
Die Zeichenfolge Ausdruck , gesucht werden soll.Is the string expression to be searched. String_expression kann von einem Zeichen-oder Binärdatentyp sein.string_expression can be of a character or binary data type.

String_Musterstring_pattern
Ist der zu suchende Teilzeichenfolge an.Is the substring to be found. String_pattern kann von einem Zeichen-oder Binärdatentyp sein.string_pattern can be of a character or binary data type. String_pattern darf keine leere Zeichenfolge (") sein und darf nicht die maximale Anzahl von Bytes, die auf eine Seite passen.string_pattern cannot be an empty string (''), and must not exceed the maximum number of bytes that fits on a page.

String_Ersatzstring_replacement
Ist die Ersatzzeichenfolge.Is the replacement string. String_replacement kann von einem Zeichen-oder Binärdatentyp sein.string_replacement can be of a character or binary data type.

RückgabetypenReturn Types

Gibt Nvarchar die Eingabeargumente des ist die Nvarchar Daten geben; andernfalls wird von REPLACE gibt Varchar.Returns nvarchar if one of the input arguments is of the nvarchar data type; otherwise, REPLACE returns varchar.

Gibt NULL zurück, wenn eines der Argumente NULL ist.Returns NULL if any one of the arguments is NULL.

Wenn String_expression ist nicht vom Typ varchar(max) oder nvarchar(max) ersetzen schneidet den Rückgabewert bei 8.000 Bytes ab.If string_expression is not of type varchar(max) or nvarchar(max), REPLACE truncates the return value at 8,000 bytes. Zum Zurückgeben von Werten über 8.000 Bytes String_expression müssen explizit in einen Datentyp mit umfangreichen Werten umgewandelt werden.To return values greater than 8,000 bytes, string_expression must be explicitly cast to a large-value data type.

HinweiseRemarks

REPLACE führt Vergleiche auf der Basis der Sortierung der Eingabe durch.REPLACE performs comparisons based on the collation of the input. Um einen Vergleich in einer angegebenen Sortierung durchzuführen, können Sie COLLATE eine ausdrückliche Sortierung auf die Eingabe anwenden.To perform a comparison in a specified collation, you can use COLLATE to apply an explicit collation to the input.

0 x 0000 (char(0) zurück) ist ein nicht definiertes Zeichen in Windows-Sortierungen und kann nicht in REPLACE enthalten sein.0x0000 (char(0)) is an undefined character in Windows collations and cannot be included in REPLACE.

BeispieleExamples

Das folgende Beispiel ersetzt die Zeichenfolge cde in abcdefghi durch xxx.The following example replaces the string cde in abcdefghi with xxx.

SELECT REPLACE('abcdefghicde','cde','xxx');  
GO  

Im Folgenden finden Sie das Resultset.Here is the result set.

------------  
abxxxfghixxx  
(1 row(s) affected)  

Das folgende Beispiel verwendet die COLLATE-Funktion.The following example uses the COLLATE function.

SELECT REPLACE('This is a Test'  COLLATE Latin1_General_BIN,  
'Test', 'desk' );  
GO  

Im Folgenden finden Sie das Resultset.Here is the result set.

------------  
This is a desk  
(1 row(s) affected)  

Siehe auchSee Also

Datentypen (Transact-SQL) Data Types (Transact-SQL)
Zeichenfolgenfunktionen ( Transact-SQL )String Functions (Transact-SQL)