处理 TSQL 遇到以零作除数错误

2025-04-18 09:42:38

【直接结合具体的实例嘉滤淀驺】

今天做数据分析的时候。

要算一个数据就是 每个单位人均资产在5万的过滤出来

数据表中 资产有的为0,人数有的为0.那么如果学过数学的都知道,0不能做除数。

【结构如图:】

处理 TSQL 遇到以零作除数错误

那么。可以通过2种方式解决。

第一种 :

人数为零或是支出为零的话单独作为一种情况。

人数不能零的单独作为一种计算。

所以:

select mingcheng,zichan/qimorenshu as '人均资产' from dbo.a0414_sileicuowo

where (qimorenshu<>0) and zichan/qimorenshu<50000

以上两种情况相加即可。【注意:zichan,qimorenshu 字段 默认值设置为0,非NULL

还可以使用

set ansi_warnings off

SET ARITHABORT off

SET ARITHIGNORE on

select mingcheng,zichan/qimorenshu as '人均资产' from dbo.a0414_sileicuowo

where zichan/qimorenshu<50000 --or (zichan/qimorenshu is null)

上面的黑体,表示 关闭运算中断。

也就是说 在

set ansi_warnings off

SET ARITHABORT off

SET ARITHIGNORE on

后 那么select 0/0 结果是null.

如图所示:

处理 TSQL 遇到以零作除数错误

所以。也可以解决问题。

------------------------------------------

【注意:】

set ansi_warnings off

SET ARITHABORT off

SET ARITHIGNORE on

运行后,默认是关闭了运算检查中断。如果想恢复正常

需要

set ansi_warnings ON

SET ARITHABORT ON

SET ARITHIGNORE on

切记切记。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢