数学中,除数或者乘数不能为零,这是基本常识,也是计算规则,必须遵守,但实际应用往往会遇到一些特殊情况,比如某数乘0或者除0,这可能会导致程序异常,下面介绍一个在SQL下,由SQL命令处理除零或者乘零的情况下的SQL处理方式:
SQL Server 2008 下遇到除零的情况处理:
-- 声明变量 val1
declare @val1 decimal(10,3) set @val1 = 5
-- 声明变量 val2
declare @val2 decimal(10,3) set @val2 = 0
-- 如果 val1 为 0,就输出 null,否则输出计算结果
select @val1, @val2, (case when @val1 <> 0 then @val2/@val1 else null end) as [比例]