我在存储过程中的 MS-SQL 中有一个结果集,假设它有一个 VARCHAR 列,但有许多行。我想创建一个包含所有这些值的逗号分隔字符串,有没有一种简单的方法可以做到这一点,或者我是否必须逐步遍历每个结果并手动构建字符串?
最好我想在存储过程本身中执行此操作。
这是一种方法(使用 AdventureWorks 2008 DB):
DECLARE @name varchar(255)
SET @name = NULL
select @Name = COALESCE(@Name + ',','') + LastName from Person.Person
Select @name
这是另一个(对于 SQL 2005 及以上版本):
SELECT
LastName + ','
FROM
Person.Person
FOR XML PATH('')
在这两种情况下,您都需要删除结尾的逗号 ',' (可以使用 STUFF() 函数)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)