STUFF和FOR XML PATH('')

发布时间 2023-06-16 18:09:53作者: sunice

初始状态:

执行代码:

SELECT STUFF((SELECT ','+Test_Table FROM dbo.Test_Table_Mapping WHERE ID=1570 FOR XML PATH('')),1,1,'') text 

显示结果

 

在 SQL Server 中,stuff() 函数用于从源字符串中删除给定长度的字符序列,并从指定的起始索引插入给定的字符序列。

STUFF (source_string, start, length, change_string)

source_string:字符数据

start :指定删除和插入的开始位置

length :指定要删除的字符数

change_string : 替换start 到 length 的字符数据

 

STUFF((SELECT ','+Test_Table FROM dbo.Test_Table_Mapping WHERE ID=1570 FOR XML PATH('')),1,1,'') 

把第一个字符串逗号去掉,用''代替。

 

FOR XML PATH ,其实它就是将查询结果集以XML形式展现,将多行的结果,展示在同一行。

FOR XML PATH参考资料:

https://www.cnblogs.com/KeepHoist/p/16133573.html