STUFF (Transact-SQL)
STUFF 函數會將字串插入另一個字串。它會在第一個字串的開始位置刪除指定長度的字元,然後將第二個字串插入第一個字串的開始位置。
語法
STUFF ( character_expression , start , length ,character_expression )
引數
character_expression
這是字元資料的運算式。character_expression 可以是字元或二進位資料的常數、變數或資料行。start
這是一個開始刪除和插入之位置的整數值。如果 start 或 length 是負數,則會傳回空字串。如果 start 比第一個 character_expression 長,就會傳回 Null 字串。start 的類型可以是 bigint。length
這是一個整數,指定要刪除的字元數。如果 length 長度超出第一個 character_expression,刪除動作就會進行到最後一個 character_expression 的最後一個字元。length 的類型可以是 bigint。
傳回類型
如果 character_expression 是支援的字元資料類型之一,就會傳回字元資料。如果 character_expression 是支援的二進位資料類型之一,就會傳回二進位資料。
備註
如果開始位置或長度是負的,或如果開始位置大於第一個字串的長度,則會傳回空的字串。如果刪除的長度大於第一個字串,則會刪除到剩下第一個字串中的第一個字元。
如果產生的值大於傳回類型所支援的最大值,便會引發錯誤。
範例
下列範例會傳回從第一個字串 (abcdef) 中,從位置 2 (b) 開始,刪除三個字元所建立的字元字串,且會在刪除點插入第二個字串。
SELECT STUFF('abcdef', 2, 3, 'ijklmn');
GO
以下為結果集:
---------
aijklmnef
(1 row(s) affected)