小编典典

如何避免SQL中的“被零除”错误?

sql

我有此错误信息:

消息8134,级别16,状态1,第1行除以零错误。

编写SQL代码的最佳方法是什么,这样我就再也看不到此错误消息了?

我可以执行以下任一操作:

  • 添加一个where子句,这样我的除数永远不会为零

或者

  • 我可以添加一个case语句,以便对零进行特殊处理。

使用NULLIF子句的最佳方法是吗?

有没有更好的方法,或者如何执行?


阅读 134

收藏
2021-05-05

共1个答案

小编典典

为了避免出现“被零除”错误,我们对此进行了如下编程:

Select Case when divisor=0 then null
Else dividend / divisor
End ,,,

但这是一种更好的方法:

Select dividend / NULLIF(divisor, 0) ...

现在唯一的问题是,如果我使用“ /”键,则要记住NullIf位。

2021-05-05