我正在尝试使用 NULLIF 函数返回一个 NULL 值,其中我的查询的除数为零,因此返回除以零错误。但是,我无法将函数包装在我的语句周围。该语句包含 CAST、CASE 和 SUM 函数。我在下面的示例中将函数包装在除数周围,但这不起作用,我尝试了其他组合。
cast(
round(
cast(
sum(
case
when @StuYear=11 AND [Levels of Progress] < 3 then
1
when @StuYear=10 AND [Levels of Progress] < 2 then
1
when @StuYear=9 AND [Levels of Progress] < 1 then
1
else
0
end) as decimal)
/
NULLIF(
cast(
sum(
case
when [Levels of Progress] is NULL then
0
else
1
end) as decimal) * 100,1) as numeric(4,1))
,0)