declare @a int;
declare @b int;
set @a=10
set @b=0
select @a/@b
运⾏结果:
错误:遇到以零作除数错误
处理以零作除数的两种⽅法:
⼀、利⽤case语句。
declare @a int;
declare @b int;
set @a=10
set @b=0
select case when @b=0 then 0 else @a/@b end
运行结果:0
⼆、nullif函数
定义: NULLIF( expression , expression )
作⽤:如果两个指定的表达式相等,就返回null值
例如: select nullif(0,0) 运⾏结果:null
null与任何数进⾏任何运算,结果都等于null
declare @a int;
declare @b int;
set @a=10
set @b=0
select @a/nullif(@b,0)
运⾏结果:null
再利⽤isnull函数,我们就可以实现当@b=0的时候,结果返回1的需求了
declare @a int;
declare @b int;
set @a=10
set @b=0
select isnull(@a/nullif(@b,0),1)
运行结果:1
01-19
07-24
1947

08-12
6279

08-21
1264
