0
我有一個存儲過程,它根據參數計算幾個值的平均值。在計算平均值時處理NULL值
這裏的代碼片段:
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT
@valFound = AVG(FilterSurface)
FROM
[tblVAR_FilterSurface]
WHERE
refDate >= DATEADD(DAY, -30, @refDate)
AND refDate <= DATEADD(DAY, 0, @refDate)
AND patientId = @patientId
INSERT INTO __TEMP(PatientId, RefDate, ModifyDate, FilterSurface)
VALUES(@patientId, @refDate, @modifyDate, @valFound);
SET @valFound = NULL
FETCH NEXT FROM db_cursor INTO @patientId, @refDate, @modifyDate
END
有時因爲系統嘗試計算NULL值的平均值和結果分配給@valFound
可變此存儲過程失敗。我認爲問題是將結果分配給這些變量。
如何修改我的存儲過程以正確處理空值?