我有一個應該拿出一個記錄和Concat的每一個字符串的SQL查詢,然後輸出字符串。查詢的重要部分如下。T-SQL While循環和串聯
DECLARE @counter int;
SET @counter = 1;
DECLARE @tempID varchar(50);
SET @tempID = '';
DECLARE @tempCat varchar(255);
SET @tempCat = '';
DECLARE @tempCatString varchar(5000);
SET @tempCatString = '';
WHILE @counter <= @tempCount
BEGIN
SET @tempID = (
SELECT [Val]
FROM #vals
WHERE [ID] = @counter);
SET @tempCat = (SELECT [Description] FROM [Categories] WHERE [ID] = @tempID);
print @tempCat;
SET @tempCatString = @tempCatString + '<br/>' + @tempCat;
SET @counter = @counter + 1;
END
當腳本運行時,@tempCatString
輸出爲空而@tempCat
總是正確輸出。有沒有什麼理由在一個While循環內連接不起作用?這似乎是錯誤的,因爲遞增@counter
完美。那麼還有什麼我失蹤的?
表I中查詢值中的一個值爲null,因此向@tempCatString聲明中添加IsNull()可修復此問題。謝謝 – JustinT 2009-01-16 20:38:04