oracle数据同比的时候除数为0该怎么处理

原创 2015年11月19日 15:53:47

如图,我想同比每年对应月份的cr值,也就是,今年比上年的是增加了还是减少了,然后用得是lag over函数,我并没有深入的了解过这两个函数,然后最后的结果就是,因为cr里面存在0,所以,进行数据同比的时候会报错,提示,除数不能为0,请问这种情况该怎么处理,求各位大神能教教俺,有点着急,在线等~,跪谢

select
   a.*,
   nvl(round(a.cr/lag(a.cr) over(partition by month order by a.stat_date)*100,2)-100,'0')||'%' hb
from (
select
   t.stat_date,
   substr(t.stat_date,0,4) year,
   substr(t.stat_date,5,2) month,
   t.wccb wccb,
   t.tjtb tjtb,
   t.cj cj,
   trunc(t.cj/t.wccb,4) cr
from
(
select
       substr(to_char(t.created_date,'yyyyMMdd'),0,6) stat_date,
       count(t.th_id) WCCB,
       sum(decode(t.apply_date,null,0,1)) TJTB,
       sum(decode(t.elis_policy_no,null,0,1)) CJ
from life_th_app_policy_info t
group by substr(to_char(t.created_date,'yyyyMMdd'),0,6)
order by substr(to_char(t.created_date,'yyyyMMdd'),0,6)
) t
) a

Oracle 除数为0的处理(decode)

select   (a/b*100)per   from   aa;      当b为0时,提示除数为0,      本人想当除数为0时,不让系统提示出错,结果显示0即可? 解决:selec...
  • wangxin_wangxin
  • wangxin_wangxin
  • 2012年12月28日 11:15
  • 20381

oracle 除数为 0

decode(除数,0,显示0%,不为零的正常表达式)代替原来那个有可能出0除报错的表达式 select  t.ynzzs,t.yinzzs,t.ynzzs-t.yinzzs cye, dec...
  • zhenwodefengcaii
  • zhenwodefengcaii
  • 2017年04月15日 09:50
  • 1274

oracle除数为0时的解决方法(decode的使用)

decode(除数,0,显示0%,不为零的正常表达式)代替原来那个有可能出0除报错的表达式  select   (a/b*100)per   from   aa;      当b为0时,提...
  • sinat_32023305
  • sinat_32023305
  • 2017年11月28日 14:09
  • 407

oracle 除数不能为0

--建表 create table mytable(a int,b int,c int, d int) --查表(通过case when) select * from mytable se...
  • jihuanliang
  • jihuanliang
  • 2012年03月21日 17:50
  • 2839

oracle 之除数不为0

在oracle除数不能为零  好吧,出了问题就得想法解决 例     selct  a/b  as  w where 表 解    一般来说,我会在除法算式前加decode    decod...
  • zhangyucccccc
  • zhangyucccccc
  • 2017年07月12日 20:31
  • 394

oracle常用函数使用大全 Oracle除法

一、运算符 算术运算符:+ - * / 可以在select 语句中使用 连接运算符:|| select deptno|| dname from dept;  比较运算符:> >= = != ...
  • chenmeng2192089
  • chenmeng2192089
  • 2013年06月23日 16:24
  • 8219

在sql中遇到除数为0的错误时候的解决办法

今天在做项目的时候需要计算满意度的和点击次数显示在页面上: 其中满意度的计算方法为:总的评价分数/总的评价人数 然后我开始写的查询语句为: select doctorid , sum(g...
  • u012027337
  • u012027337
  • 2016年06月12日 14:09
  • 3702

Excel计算百分比时分母为0的处理

作者:iamlaosong 实际工作中经常碰到百分比计算,但是,如果分母为0,则单元格显示#DIV/0!,可以用if函数进行判断(直接判断分母,或者用iserror(A1/B1)或isnumber(A...
  • iamlaosong
  • iamlaosong
  • 2014年04月30日 12:03
  • 7944

Oracle知识点总结

oracle知识点总结 数据库查询 入门语句 入门语句 SQL简介 查询基础 基本关键字 算术表达式+-*/ 连接运算符|| 字段别名as 空值 is null 去除重复行 di...
  • wxt1129
  • wxt1129
  • 2016年08月23日 23:20
  • 819

Oracle中字段为空处理成0

Oracle数据库中的函数 A :表名, B: 要修改的字段名 update A set  B = replace(b, 'null', '0') where id = '5644'; ...
  • liyintaoliuyun
  • liyintaoliuyun
  • 2016年06月28日 11:25
  • 2694
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle数据同比的时候除数为0该怎么处理
举报原因:
原因补充:

(最多只允许输入30个字)