sql server怎么拼接两个字段(SQLServer中一个字段多行数据合并成一行)
创建一张测试表city,存放部分城市名称数据,现在演示如何将name字段多行记录存放为一行,查询城市表中的数据:
select top 6 name from city
下面通过两种方法将上面的6行记录展示为一行:贵阳市,长春市,七台河市,达州市,徐州市,绵阳市:
1. 使用字符串拼接
declare @str nvarchar(max);
select @str = isnull(@str ',','') name
from (select top 6 name from city )t
select @str
2.使用 for xml path 函数
select top 6 ',' name from city for xml path('')
查询返回的是XML形式的数据,而且数据行最后多出了一个逗号,下面使用内置函数 STUFF 可以解决上面的两个问题:
select stuff( (select top 6 ',' name from city for xml path('')
), 1, 1, '')
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com