代码如下:
游标读取的数据集是正常的, 如下:
但是最后 while @@fetch_status=0
BEGIN
set @ItemCont=@ItemCont+ '+'',''+' +@Item
Fetch Next from Item_cursor into @Item
END
拼接出来的@ItemCount 却是:
最后少了" ,0) + ', ' ", 由于不知道是不是一直都是这个结果, 所以也不好在最后对结果字符串进行处理, 大家知道里面有什么错误么??
declare @ItemCont varchar(max)
目测应该是超出变量的长度了. 用楼上的方法试试.
同意楼上,应是长度不够自动截断了.
另外,可以尝试使用 for xml path的方式,大概会比用游标遍历要方便一点~~
1 SELECT STUFF((SELECT ','+c1 FROM t WHERE ... FOR XML PATH('')),1,1,'')
STUFF是去掉第一个逗号的.