SQL SERVER 中处理分母为0的情况
来源:互联网 发布:creo mac版 编辑:程序博客网 时间:2024/04/30 20:55
首先写个测试数据,然后我们来求一下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中参数为变量的情况处理
- 请教大家一个问题:.net3.5的实体数据模型如何插入和编辑数据
- java 代理模式实现:java原生proxy类和增强型cglib库
- u-boot中的include/autoconf.mk文件是如何生成的
- ThreadPoolExecutor线程池的简单使用
- 现在系统的NAND分区
- SQL SERVER 中处理分母为0的情况
- 20110421阴
- Hello world
- 程序员是这样炼成的(4)-学会渔而不是鱼
- 干净简洁的CSS表单设计实例
- 杂想
- javascript实现跳转的几种方式
- WIN7继续研究(一)
- Gentoo升级后鼠标键盘不动