STUFF (Transact-SQL)
Löscht eine angegebene Anzahl Zeichen ab der angegebenen Position aus einer Zeichenfolge und fügt an derselben Position eine andere Zeichenfolge ein.
Transact-SQL-Syntaxkonventionen
Syntax
STUFF ( character_expression , start , length ,character_expression )
Argumente
character_expression
Ein Ausdruck für Zeichendaten. character_expression kann eine Konstante, Variable oder Spalte mit Zeichen- oder Binärdaten sein.
start
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. Falls start oder length negativ ist, wird eine NULL-Zeichenfolge zurückgegeben. Ist start länger als der erste Zeichenausdruck (character_expression), wird eine NULL-Zeichenfolge zurückgegeben. start kann vom bigint-Datentyp sein.
length
Eine ganze Zahl, die festlegt, wie viele Zeichen gelöscht werden sollen. Falls length länger als der erste Zeichenausdruck (character_expression) ist, erstreckt sich die Löschung bis auf das letzte Zeichen im letzten Zeichenausdruck (character_expression). length kann vom bigint-Datentyp sein.
Rückgabetypen
Gibt Zeichendaten zurück, wenn character_expression einen der unterstützten Zeichendatentypen ist. Gibt Binärdaten zurück, wenn character_expression einen der unterstützten Binärdatentypen ist.
Hinweise
Wenn der Ergebniswert größer als der vom Rückgabetyp unterstützte Höchstwert ist, wird ein Fehler ausgegeben.
Beispiele
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.
SELECT STUFF('abcdef', 2, 3, 'ijklmn')
GO
Dies ist das Resultset.
---------
aijklmnef
(1 row(s) affected)
Siehe auch
Verweis
Datentypen (Transact-SQL)
Zeichenfolgenfunktionen (Transact-SQL)