說明:
STUFF 函數將字符串插入到另一個字符串中。 它從第一個字符串的開始位置刪除指定長度的字符;然后將第二個字符串插入到第一個字符串的開始位置。
語法:
STUFF ( character_expression , start , length , replaceWith_expression )
參數:
character_expression
字符數據的表達式。 character_expression 可以是常量、變量,也可以是字符列或二進制數據列。
start
一個整數值(從1開始),指定刪除和插入的開始位置。start 的類型可以是 bigint。
※如果 start 為負或為零,則返回空字符串。
※如果 start 的長度大於第一個 character_expression,則返回空字符串。
length
一個整數,指定要刪除的字符數。 length 的類型可以是 bigint。
※如果 length 為負,則返回空字符串。
※如果 length 的長度大於character_expression,則最多可以刪除到character_expression 中的最后一個字符。
※如果 length 為零,則不刪除字符直接在指定位置插入內容。
replaceWith_expression
字符數據的表達式。 replaceWith_expression 可以是常量、變量,也可以是字符列或二進制數據列。 此表達式從 start 開始替換 length 個字符的 character_expression。
※如果 replaceWith_expression 為 NULL
,則在不插入任何內容的情況下刪除字符。
返回類型:
如果 character_expression 是支持的字符數據類型之一,則返回字符數據。 如果 character_expression 是支持的二進制數據類型之一,則返回二進制數據。
示例:
從第一個字符串 ABCDEFG的第 2
個位置 (B
) 開始刪除3個字符,然后在刪除位置插入第二個字符串,從而創建並返回一個字符串。
※如果 start 為負或為零,則返回空字符串。
※如果 start 的長度大於第一個 character_expression,則返回空字符串。
※如果 length 為負,則返回空字符串。
※如果 length 的長度大於character_expression,則最多可以刪除到character_expression 中的最后一個字符。
※如果 length 為零,則不刪除字符直接在指定位置插入內容。
※如果 replaceWith_expression 為 NULL
,則在不插入任何內容的情況下刪除字符。
參考原文地址:https://docs.microsoft.com/zh-cn/sql/t-sql/functions/stuff-transact-sql?view=sql-server-2017
聲明:本文是本人查閱網上及書籍等各種資料,再加上自己的實際測試總結而來,僅供學習交流用,請勿使用於商業用途,任何由此產生的法律版權問題概不負責,謝謝。