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