将sql值连接到变量

sql Server 2008上,我试图将所有选定值的逗号分隔列表添加到变量中.
SELECT field
FROM table

收益:

+-------+
| field |
+-------+
| foo   |
+-------+
| bar   |
+-------+

我想得到:
“foo,bar,”

我试过了:

DECLARE @foo NVARCHAR(MAX)
SET @foo = ''

SELECT @foo = @foo + field + ','
FROM TABLE

PRINT @foo

什么都不返回.我究竟做错了什么?

解决方法

您需要更改NULL
SELECT @foo = @foo + ISNULL(field + ',','')
FROM TABLE

删除它们

SELECT @foo = @foo + field + ','
FROM TABLE
WHERE field IS NOT NULL

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...