一尘不染

将SQL Server结果集转换为字符串

sql

我在SQL Server中得到结果

SELECT StudentId FROM Student WHERE condition = xyz

我得到的输出像

学生卡
1236

7656

8990
........

存储过程的输出参数是@studentId字符串,我希望return语句为

1236, 7656, 8990.

如何将输出转换为单个字符串?

我返回的是单列[即 学生卡]


阅读 217

收藏
2021-03-17

共1个答案

一尘不染

测试一下:

 DECLARE @result NVARCHAR(MAX)

 SELECT @result = STUFF(
                        (   SELECT ',' + CONVERT(NVARCHAR(20), StudentId) 
                            FROM Student 
                            WHERE condition = abc 
                            FOR xml path('')
                        )
                        , 1
                        , 1
                        , '')
2021-03-17