Dict.CN 在线词典, 英语学习, 在线翻译 ------------- MyGitee 朱秋贵内科诊所 My腾云code

Oracle 除数为0的处理(decode)

select   (a/b*100)per   from   aa;   
  当b为0时,提示除数为0,   
  本人想当除数为0时,不让系统提示出错,结果显示0即可?

解决:select   decode(b,0,0,a/b*100)   per   from   aa;  


在《乘除法的认识》的教学中,对于“0不能做除数”的规定,常说“零做除数没有意义”或“规定零不能做除数”,许多教师往往只是把它当作一个结论来处理, 强调“0做除数,没有意义”。其实这正是“乘除法关系”的一个极好的例子。究竟“零为什么不能做除数”呢?这可从两个方面谈起: 

一、当被除数是零,除数也是零时,我们可写成0÷0=X的形式,看商X是什么?根据乘法与除法互为逆运算的关系有:被除数=除数×商,这里除数已为零,商 X无论是什么数(是正数、负数、零)、与零相乘都等于零。即0=0×X,这样商X是不固定的。X是任何数与零相乘都等于零。我们知道四则运算的结果是唯一 的,这就破坏了四则运算结果的唯一性。在这种情况下,我们简单地说:“被除数和除数都为零时,不能得到固定的商。” 

二、当被除数不为零时,而除数为零时的结果看,我们可写成5÷0=X,商X无论是什么数, 与除数“0”相乘都得零,而不会得5,即0×X≠5或其他不是零的数。我们简单地说:“当被除数为零,而除数是零时,用乘除法的关系来检验,是‘还不回原 的’”。所以,“0”在4种运算中,就是不可以以除数的身份出现。 


    鉴于以上两种情况:一是零做除数不能得到固定的商;二是零做除数还不回原。因此说:“零做除数没有意义”或“规定零不能做除数”。


分享自:http://www.zjsyc.com/blog/article/oracle/Oracle_decode.html

posted @ 2018-01-26 09:20  cn2023  阅读(4273)  评论(0编辑  收藏  举报