我将选择语句结果插入到临时表中。我希望它的一列值逗号分开,所以我尝试了下面,但它不工作。临时表中的逗号分隔列值
SELECT @IdList = COALESCE(@IdList+',' ,'') + s.Id
FROM (SELECT Id FROM #_TempStudentTable) as s
我检查了#_TempStudentTable
中的数据,它有数据。但是当我尝试显示IdList
时,它返回NULL。 帮帮我。我不知道有什么问题。
我将选择语句结果插入到临时表中。我希望它的一列值逗号分开,所以我尝试了下面,但它不工作。临时表中的逗号分隔列值
SELECT @IdList = COALESCE(@IdList+',' ,'') + s.Id
FROM (SELECT Id FROM #_TempStudentTable) as s
我检查了#_TempStudentTable
中的数据,它有数据。但是当我尝试显示IdList
时,它返回NULL。 帮帮我。我不知道有什么问题。
试试这个:
DECLARE @IdList VARCHAR(MAX)
SELECT @IdList = COALESCE(@IdList + ',','') + CAST(Id AS VARCHAR(100))
FROM #_TempStudentTable
SELECT @IdList
您还可以使用XML像下面
SELECT STUFF((SELECT ',' + CAST(Id AS VARCHAR(10))
FROM #_TempStudentTable
FOR XML PATH (''))
, 1, 1, '')
初始化得到它不变量'@ IdList'到' '''。 “NULL”值只是生成更多的“NULL”值。 –
@GordonLinoff,我试过你solutiomn,但它不工作。 – Dhwani