STUFF (Transact-SQL)STUFF (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

Die STUFF-Funktion fügt eine Zeichenfolge in eine andere Zeichenfolge ein.The STUFF function inserts a string into another string. Sie löscht ab einer bestimmten Anfangsposition eine festgelegte Anzahl von Zeichen in der ersten Zeichenfolge und fügt dort die zweite Zeichenfolge ein.It deletes a specified length of characters in the first string at the start position and then inserts the second string into the first string at the start position.

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

SyntaxSyntax

STUFF ( character_expression , start , length , replaceWith_expression )  

ArgumenteArguments

character_expressioncharacter_expression
Ist ein Ausdruck von Zeichendaten.Is an expression of character data. Character_expression kann eine Konstante, Variable oder Spalte mit Zeichen- oder Binärdaten sein.character_expression can be a constant, variable, or column of either character or binary data.

Startenstart
Ein ganzzahliger Wert, der die Position angibt, ab der Zeichen gelöscht werden sollen und an der anschließend eine andere Zeichenfolge eingefügt werden soll.Is an integer value that specifies the location to start deletion and insertion. Wenn starten oder Länge ist negativ ist, wird eine Nullzeichenfolge zurückgegeben.If start or length is negative, a null string is returned. Wenn starten ist länger als der erste Character_expression, eine null-Zeichenfolge zurückgegeben.If start is longer than the first character_expression, a null string is returned. Starten Sie kann vom Typ "bigint".start can be of type bigint.

lengthlength
Eine ganze Zahl, die festlegt, wie viele Zeichen gelöscht werden sollen.Is an integer that specifies the number of characters to delete. Wenn Länge ist länger als der erste Character_expression, Löschung bis zum letzten Zeichen in den letzten Character_expression.If length is longer than the first character_expression, deletion occurs up to the last character in the last character_expression. Länge kann vom Typ "bigint".length can be of type bigint.

replaceWith_expressionreplaceWith_expression
Ist ein Ausdruck von Zeichendaten.Is an expression of character data. Character_expression kann eine Konstante, Variable oder Spalte mit Zeichen- oder Binärdaten sein.character_expression can be a constant, variable, or column of either character or binary data. Dieser Ausdruck ersetzt Länge Zeichen des Character_expression beginnend starten.This expression replaces length characters of character_expression beginning at start. Bereitstellen von NULL als die ReplaceWith_expression, werden Zeichen entfernt, ohne etwas einzufügen.Providing NULL as the replaceWith_expression, removes characters without inserting anything.

RückgabetypenReturn Types

Gibt Zeichendaten zurück, wenn Character_expression ist einer der unterstützten Zeichendatentypen.Returns character data if character_expression is one of the supported character data types. Gibt Binärdaten zurück, wenn Character_expression eines der unterstützten Binärdatentypen ist.Returns binary data if character_expression is one of the supported binary data types.

HinweiseRemarks

Falls die Startposition oder die Länge negativ oder die Startposition größer als die Länge der ersten Zeichenfolge ist, wird eine Nullzeichenfolge zurückgegeben.If the start position or the length is negative, or if the starting position is larger than length of the first string, a null string is returned. Wenn die Startposition 0 ist, wird ein NULL-Wert zurückgegeben.If the start position is 0, a null value is returned. Wenn es sich um mehr zu löschende Zeichen handelt als die erste Zeichenfolge aufweist, wird die erste Zeichenfolge bis auf das erste Zeichen gelöscht.If the length to delete is longer than the first string, it is deleted to the first character in the first string.

Wenn der Ergebniswert größer als der vom Rückgabetyp unterstützte Höchstwert ist, wird ein Fehler ausgegeben.An error is raised if the resulting value is larger than the maximum supported by the return type.

Ergänzende Zeichen (Ersatzpaare)Supplementary Characters (Surrogate Pairs)

Bei Verwendung von SC-Sortierungen beide Character_expression und ReplaceWith_expression können auch Ersatzpaare enthalten.When using SC collations, both character_expression and replaceWith_expression can include surrogate pairs. Der Length-Parameter zählt jedes Ersatzzeichen Character_expression als einzelnes Zeichen.The length parameter counts each surrogate in character_expression as a single character.

BeispieleExamples

In diesem Beispiel wird eine neue Zeichenfolge zurückgegeben, indem zunächst drei Zeichen aus der ersten Zeichenfolge (abcdef) ab der Position 2, (also bei b) gelöscht werden. Anschließend wird die zweite Zeichenfolge an der Löschposition eingefügt.The following example returns a character string created by deleting three characters from the first string, abcdef, starting at position 2, at b, and inserting the second string at the deletion point.

SELECT STUFF('abcdef', 2, 3, 'ijklmn');  
GO  

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

---------   
aijklmnef   

(1 row(s) affected)  

Siehe auchSee Also

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