我正在用一些计算方法编写一小段代码,并且我使用临时变量来执行它。
当我只是将SELECT
语句分配给@sum1
它正在工作时,但是当我将它更改为@sum1 += SELECT...
它时返回NULL
(见附图)
我已经尝试过以下方法:
尝试进行一些转换(尽管 @sum1 和 activityDur 都定义为 INT)
试图将
SELECT
语句分配给一个变量,然后将该变量分配给一个新变量。试图在网上找到类似的问题(包括stackoverflow)
谢谢。
SET @sum1=0
WHILE @i <= 10
BEGIN
//**** HERE IS THE PROBLEM
SET @sum1 += (SELECT activityDur FROM dbo.tmp_activityCalculation WHERE RowNum = @i)
//****
IF (@sum1 > 200)
BEGIN
SET @index += 1
SET @sum1 = 0
END
INSERT INTO tmp_finalCalc (RowNum, activityID, activityDur,actDay)
SELECT
RowNum,
activityID,
activityDur,
@sum1
FROM tmp_activityCalculation WHERE Rownum = @i
SET @i += 1
END