使用SQL的FOR XML PATH('')将字段用逗号隔开

FOR XML PATH('') 将查询结果显示为XML

经常用来将查询结果按逗号分隔后显示至某一字段

select * from Area
结果
使用SQL的FOR XML PATH('')将字段用逗号隔开

 

 添加FOR XML PATH('')后

select * from Area FOR XML PATH('')

使用SQL的FOR XML PATH('')将字段用逗号隔开

使用SQL的FOR XML PATH('')将字段用逗号隔开

 

 

这是xml格式

 

将地名用逗号分开放到一个字段

代码:

select ',' + F_FullName  from Sys_Area FOR XML PATH('')

结果:

使用SQL的FOR XML PATH('')将字段用逗号隔开

 

 

 使用STUFF去除最前面的','(STUFF([参],[起始位置],[结束位置],[替换字符]))

代码:

SELECT 
stuff((select ',' + F_FullName  from Area where F_FullName like'%省' FOR XML PATH('')),1,1,'') as  省,
stuff((select ',' + F_FullName  from Area where F_FullName like'%市' FOR XML PATH('')),1,1,'') as  市, 
stuff((select ',' + F_FullName  from Area where F_FullName like'%县' FOR XML PATH('')),1,1,'') as  县

from Area tt
group by  F_Layers 

结果:

使用SQL的FOR XML PATH('')将字段用逗号隔开

 

 要分组或增加条件不然会

使用SQL的FOR XML PATH('')将字段用逗号隔开

 

 

 

 

 

 

 

 

 

 

 

 

上一篇:SQL如何提前字符串中的字母?


下一篇:SQL SERVER使用STUFF函数拼接记录为逗号分隔符