如何在SQL Sever中格式化TSQL SELECT输出

mhm*_*hmd 2 sql t-sql sql-server formatting sql-server-2005

如何循环选择语句会产生格式化文本?例如,选择如下:

select name from table 
Run Code Online (Sandbox Code Playgroud)

我们想要一个像这样的变量@names:

"name1,name2,name3"
Run Code Online (Sandbox Code Playgroud)

数据库是SQL Server 2005

aba*_*hev 5

如果表包含多个记录,即:

1, name1, ..
2, name2, ..
3, name3, ..
Run Code Online (Sandbox Code Playgroud)

然后这个查询:

DECLARE @names VARCHAR(MAX)
SELECT @names = COALESCE(@names + ', ', '') + name
FROM table
Run Code Online (Sandbox Code Playgroud)

将产生下一个结果:

name1, name2, name3
Run Code Online (Sandbox Code Playgroud)

请参阅MSDN上的COALESCE