读书人

遇到以零作除数异常

发布时间: 2012-03-09 16:54:56 作者: rapoo

遇到以零作除数错误
原语句是这样的:

SQL code
sum(case when day(OQCTime)=1 then BadNo else 0 end)/sum(case when day(OQCTime)=1 then floor(TestNo) else 0 end)*1000000 as [1],
提示错误:遇到以零作除数错误



后来改成:
SQL code
sum(case when day(OQCTime)=1 then BadNo else 0 end)/nullif(sum(case when day(OQCTime)=1 then isnull(floor(TestNo),0) else 0 end)*1000000,0) as [1],
错误提示:将 expression 转换为数据类型 int 时出现算术溢出错误。

[解决办法]
探讨
引用:
如果分母为0
那结果怎么处理?
做0处理

读书人网 >SQL Server

热点推荐