理解sql server STUFF函數

STUFF函數 STUFF(<character_expression>,<開始>,<長度>,<character_expression>)

在給定字符串(<character_expression>)找到指定的位置(<開始>) 然後替換指定的字符串(<character_expression>) 如果字符爲零 則爲插入,

如果長度超長 則刪除指定位置之後(包含指定位置)的所有字符串 並且替換爲指定的字符串(<character_expression>)

例1:

DECLARE @str VARCHAR(20)='I szl'
DECLARE @tempstr VARCHAR(20)=' am '
SELECT STUFF(@str,CHARINDEX(' ',@str),1,@tempstr) AS name

STUFF更多的是配合FOR XML PATH使用

例子:

SELECT STUFF(
(SELECT    ';'+exam_item_name from applysheet_list where   applysheet_id ='3217487'FOR XML PATH('')),
 1,
 1,
 '')  

去掉多拼接的第一個分號; 此配合真的是巧妙。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章