SQL SERVER 中处理分母为0的情况
来源:互联网 发布:windows无法格式化sd卡 编辑:程序博客网 时间:2024/05/01 01:31
首先写个测试数据,然后我们来求一下colone除以coltwo的商
declare @table table (id int,colone numeric(4,2),coltwo numeric(2,1))
insert into @table
select 1,1.2,0.4 union all
select 2,1.4,0.6 union all
select 3,1.8,0.8 union all
select 4,9.1,1.2 union all
select 5,9.02,2.9 union all
select 6,9.11,3.4 union all
select 7,8.23,2.3 union all
select 8,12.11,0 union all
select 9,2.3,8.1 union all
select 10,2.5,0
我们来看一下数据表中的数据:
select * from @table
/*
id colone coltwo
----------- ---------------------------------------
1 1.20 0.4
2 1.40 0.6
3 1.80 0.8
4 9.10 1.2
5 9.02 2.9
6 9.11 3.4
7 8.23 2.3
8 12.11 0.0
9 2.30 8.1
10 2.50 0.0
*/
如果直接这样写会报错:
select colone/coltwo from @table
错误信息:Divide by zero error encountered.
怎么来处理这个问题呢?
--方法一:case when
select round(colone/case coltwo when 0 then null else coltwo end,2) as result1 from @table
/*
result1
---------------------------------------
3.000000
2.330000
2.250000
7.580000
3.110000
2.680000
3.580000
NULL
*/
--方法二:nullif
select round(colone/nullif(coltwo,0),2) as result2 from @table
/*
result2
---------------------------------------
3.000000
2.330000
2.250000
7.580000
3.110000
2.680000
3.580000
NULL
0.280000
NULL
*/
如果我们不想让分母为0的返回null的话,我们可以处理分母为1
- SQL SERVER 中处理分母为0的情况
- SQL SERVER 中处理分母为0的情况
- SQL中处理分母为0的方式
- sql处理分母为0
- sql中分母为零处理
- SQL计算中分母为0
- 使用case语句排除sql中分母为0的错误
- 当在SQL中遇到分子/分母为0时的方法
- pku--3979 分数加减法(注意分子为0,分母为1的情况)
- java 当分母为零时,出现的所有情况总结
- sql server中除数为零的处理技巧
- java,对于分母为零异常处理
- 关于C 语言分母为0后的后果
- [sql统计] sql聚合count分母为单个值问题的解决方案
- SQL Server 2008 下遇到除零的情况处理
- 用navicat导入sql文件的时候已处理为0或者1的情况
- sql server中LEFT INNER RIGHT JOIN的使用情况
- (原创)easyui_datagrid_load中参数为变量的情况处理
- 怎样把jpg转成pdf方法分享
- 怎样把jpg格式转成pdf格式
- 七、测试用例设计白皮书--正交实验设计方法
- iOS 开发遇见的略细节的问题
- Java的动态绑定
- SQL SERVER 中处理分母为0的情况
- 理解Android UI线程
- AVAudioSession
- 联觉
- JS 中面向对象的5种写法
- 八、测试用例设计白皮书--功能图分析方法
- 利用算术(加减乘除)的方法实现从1到9计算等于100
- IOS开发中常用的设计模式
- Quartz在Spring中动态设置cronExpression