Tôi tryin để sử dụng SQL để xây dựng một dấu phẩy tách ra danh sách các cat_id củaTạo danh sách được phân cách bằng dấu phẩy?
mã là:
declare @output varchar(max)
set @output = null;
select @output = COALESCE(@output + ', ', '') + convert(varchar(max),cat_id)
chỉnh sửa: thay đổi '' để null, VẪN cùng. nhưng đầu ra im nhận được như vậy:
, 66 , 23
dấu phẩy hàng đầu không nên ở đó. Tôi đã bỏ lỡ điều gì?
Ok, tôi đã thử nghiệm nó và nó hoạt động như nó vốn có. Tôi chắc chắn muốn giới thiệu điều này qua kỹ thuật 'nối thêm một biến'. –
Thuật sĩ sql hoang dã này bạn đã thể hiện ở đây! Bắt đầu quỷ! – JDPeckham
Tôi muốn nối thêm vào câu trả lời này - đối với rất nhiều câu lệnh STUFF bạn muốn tham số là 1 và 1, không phải 1 và 2 để tạo danh sách được phân tách bằng dấu phẩy thực sự. Câu trả lời của Matt sử dụng 2 vì anh ta có một dấu cách sau mỗi dấu phẩy. Để biết thêm thông tin, hãy xem bài viết MSDN: http://msdn.microsoft.com/en-us/library/ms188043.aspx – Ryanman