SQL SERVER 字符串函數 STUFF()


說明:

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

聲明:本文是本人查閱網上及書籍等各種資料,再加上自己的實際測試總結而來,僅供學習交流用,請勿使用於商業用途,任何由此產生的法律版權問題概不負責,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM