STUFF (Transact-SQL)STUFF (Transact-SQL)

GILT FÜR: jaSQL Server jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure 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-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

STUFF ( character_expression , start , length , replaceWith_expression )  

ArgumenteArguments

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

startstart
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. Falls start negativ oder 0 (null) ist, wird eine NULL-Zeichenfolge zurückgegeben.If start is negative or zero, a null string is returned. Wenn start länger als das erste character_expression-Element ist, wird eine NULL-Zeichenfolge zurückgegeben.If start is longer than the first character_expression, a null string is returned. start kann vom Typ bigint sein.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. Falls length negativ ist, wird eine NULL-Zeichenfolge zurückgegeben.If length is negative, a null string is returned. Wenn length länger als das erste character_expression-Element ist, wird bis zum letzten Zeichen im letzten character_expression-Element alles gelöscht.If length is longer than the first character_expression, deletion occurs up to the last character in the last character_expression. Wenn length 0 (null) ist, wird das Element vor dem ersten Zeichen der Zeichenfolge vorgenommen.If length is zero, insertion occurs before the first character in the string. length kann vom Datentyp bigint sein.length can be of type bigint.

replaceWith_expressionreplaceWith_expression
Ein Ausdruck von Zeichendaten.Is an expression of character data. character_expression kann eine Konstante, Variable oder Spalte mit Zeichen- oder Binärdaten darstellen.character_expression can be a constant, variable, or column of either character or binary data. Dieser Ausdruck ersetzt ab start length-Zeichen durch character_expression.This expression replaces length characters of character_expression beginning at start. Wenn NULL als replaceWith_expression angegeben ist, werden die Zeichen entfernt, ohne zusätzliche Zeichen einzufügen.Providing NULL as the replaceWith_expression, removes characters without inserting anything.

RückgabetypenReturn Types

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

RemarksRemarks

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)

Wenn SC-Sortierungen verwendet werden, kann sowohl character_expression als auch replaceWith_expression Ersatzzeichenpaare enthalten.When using SC collations, both character_expression and replaceWith_expression can include surrogate pairs. Der Längenparameter betrachtet jedes Ersatzzeichen in 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)  

Weitere InformationenSee Also

CONCAT (Transact-SQL)CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)FORMATMESSAGE (Transact-SQL)
QUOTENAME (Transact-SQL)QUOTENAME (Transact-SQL)
REPLACE (Transact-SQL)REPLACE (Transact-SQL)
REVERSE (Transact-SQL)REVERSE (Transact-SQL)
STRING_AGG (Transact-SQL)STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)STRING_ESCAPE (Transact-SQL)
TRANSLATE (Transact-SQL)TRANSLATE (Transact-SQL)
Datentypen (Transact-SQL) Data Types (Transact-SQL)
String Functions (Transact-SQL) (Zeichenfolgenfunktionen (Transact-SQL))String Functions (Transact-SQL)