发布时间:2026-06-01阅读(0)
创建一张测试表city,存放部分城市名称数据,现在演示如何将name字段多行记录存放为一行,查询城市表中的数据:
select top 6 name from city

下面通过两种方法将上面的6行记录展示为一行:贵阳市,长春市,七台河市,达州市,徐州市,绵阳市:
1. 使用字符串拼接
declare @str nvarchar(max);select @str = isnull(@str ,,) namefrom (select top 6 name from city )tselect @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, )

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图