理解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,
 '')  

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

原文地址:https://www.cnblogs.com/Angel-szl/p/11208175.html