处理"除以零"的SQL case语句忽略条件THEN 0

0 sql case sql-server-2012

这是SQL:

CASE 
    WHEN Field1 = 0 THEN 0 
    ELSE SUM((Field1 - Field2 * Field3)/Field1) 
END
Run Code Online (Sandbox Code Playgroud)

每次Field1 = 0时,它的变化和返回除以零误差

需要转移视线,我确信答案是显而易见的.

谢谢

Sim*_*979 7

尝试将总和包裹在外部:

sum(CASE WHEN Field1 = 0 THEN 0 ELSE ((Field1 - Field2 * Field3)/Field1) END)