72  
查询码: 00000428
SQL SERVER使用STUFF函数拼接记录为逗号分隔符
作者: 周杨 于 2019年03月12日 发布在分类 / 计算机应用 / 数据库 / SQLSERVER ,于 2019年05月05日 编辑
阅读 阅读数 读数 来自 字符 函数 字符串 数据 一个 拼接

转自: http://blog.csdn.net/winnyrain/article/details/77317645


stuff((select ',' + fieldname  from tablename for xml path('')),1,1,'')


这一整句的作用是将多行fieldname字段的内容串联起来,用逗号分隔。
例如表
fieldname
-----------
AAA
BBB
CCC
串联之后就是字符串: AAA,BBB,CCC

用法:

select *,stuff((select ',' + fieldname from table1 for xml path('')),1,1,'')  as  field from table2


------------------
分组拼接

SELECT parent, STUFF(( SELECT ','+ child FROM t a WHERE b.parent = a.parent FOR XML PATH('')),1 ,1, '') children FROM t b GROUP BY parent


STUFF 函数将字符串插入到另一个字符串中。 它从第一个字符串的开始位置删除指定长度的字符;然后将第二个字符串插入到第一个字符串的开始位置。

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

STUFF ( character_expression , start , length , replaceWith_expression ) 






 历史版本

备注 修改日期 修改人
其他原因... 2019-05-05 17:39:38[当前版本] 系统管理员
CREAT 2019-03-12 11:57:02 系统管理员

知识分享平台 -V 5.1.4 -大信谛威