回答

收藏

如何避免SQL零除错误?

技术问答 技术问答 87 人阅读 | 0 人回复 | 2023-09-13

我有这样的错误信息:* y- N; n9 I0 Y9 f, a
消息8134,级别16,状态1,第1行除以零错误。
  j8 r1 f4 @0 K* x
编写SQL最好的代码方法是什么,这样我就再也看不到这个错误的消息了?  n8 [+ [6 |0 s0 S, }& y
我可以执行以下任何操作:5 @" P# G; O% H) H0 e% M# Y3 f" \
添加一个where这样,我的除数永远不会为零或者3 r/ v. z8 K$ V* \1 e9 i
我可以加一个case句子,以便特殊处理零。使用NULLIF最好的方法是子句吗?
2 t. r/ G" R8 n: ~9 E有没有更好的方法,或者如何执行?
1 L/ ]/ Y- X8 o% E1 |! e3 V# E                                                                : {7 m6 Y- R% O4 `) _0 g! o. h) Q; b
    解决方案:                                                                ; t4 G8 M* j" ?  ?
                                                                为避免零除错误,我们编程如下:: A9 {6 j( u$ m
Select Case when divisor=0 then nullElse dividend / divisorEnd ,,,但这是一种更好的方法:
) }$ g! w9 P  R, m5 fSelect dividend / NULLIF(divisor,0) ...现在唯一的问题是,如果我使用“ /”键,则要记住NullIf位。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则