重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
set serveroutput on
成都创新互联专注于永定网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供永定营销型网站建设,永定网站制作、永定网页设计、永定网站官网定制、微信小程序服务,打造永定网络公司原创品牌,更为您提供永定网站排名全网营销落地服务。
declare
begin
INSERT INTO A SELECT B.B1/C.C1 FROM B,C WHERE B.B2=C.C2;
commit;
exception when ZERO_DIVIDE then
null; --啥也不做,继续下个处理,和高级语言continue差不多
end;
/
或者
INSERT INTO A SELECT B.B1/C.C1 FROM B,C WHERE B.B2=C.C2 and c.c10 and c.c1 is not null;
commit;
我认为数据量不大的话,非0限制比较好吧。
我的SQL可能写的有问题,但是思路应该楼主明白了吧。
select ca.name as category_name,
sum(nvl(g.commission_fee, 0)) as commission_fee,
( CASE WHEN (select sum(nvl(g2.commission_fee, 0))
from POSP_BOSS.AGENT_ANALYSIS_CATEGORY g2
where g2.count_month = '2013-07'
and g2.agent_no = '8619173620') == 0 THEN '0' ELSE
trim(to_char((round(sum(nvl(g.commission_fee, 0)) /
(select sum(nvl(g2.commission_fee, 0))
from POSP_BOSS.AGENT_ANALYSIS_CATEGORY g2
where g2.count_month = '2013-07'
and g2.agent_no = '8619173620'),
4) * 100),
90.99)) END ) || '%' as commission_fee_rate
from POSP_BOSS.AGENT_ANALYSIS_CATEGORY g
left join posp_boss.mcc_category ca
on g.category = ca.codewhere g.count_month = '2013-07'
and g.agent_no = '8619173620'
group by ca.name
order by commission_fee desc;
我以前做kpi的时候也遇到这种需求,非要在数据库里算出来
我的解决方案是大量设置视图,把每一种子计算都设为视图,就是说,数据库里会出现大量视图,但是每个计算都是原子计算
select to_number(SYCFSJE) from SF_YHXX where BENHAO = 'D02106'
你这样查一下看看是不是有等于零的
select id
from (select id,decode(id,0,0,1) as flag from table_name) t
order by flag desc,id
;
这样id=0的部分就会排在最下面
sql_wcl := 'select (case total when 0 then 0 else wc/total end) from dual';
这样写试一下,看看是否好用。