Oracle取整函數用法案例
oracle涉及到取整的函數主要有4個,兩個單參數的(ceil和floor),兩個雙參數的(trunc和round)。雙參數不僅可以取整,也可以取到任一位小數,甚至可以取到任一位整數。這些函數參數為正數時比較好理解,為負數時就要好好想一想了,不要用錯了,好在用于負數的機會不多。
1、ceil(n)取整(大),取比真值大的最小整數,注意正負數的取值:
如ceil(251.0001)=252,ceil(-251.0001)=-251,ceil(-251.9999)=-251; select ceil(251.0000001) from dual; 結果:2522、floor(n)取整(小),取比真值小的最大整數,注意正負數的取值:
如floor(251.9999)=251,floor(-251.9999)=-252,floor(-251.0001)=-252;這兩個函數功能正好相反。
記憶恨簡單:ceil,天花板,在上面,自然往高了取值;floor,地板,自然往低了取值。
3、trunc(n,p)取指定位置部分(截取),p指定截取數值的位置,p為0時表示截取整數部分,可以或略:
如trunc(251.0001)=251,trunc(-251.0001)=-251,trunc(-251.9999)=-251; 當p為正數時,表示截取時保留小數的位數;當p為負數時,表示截取時保留整數的位置,例如: trunc(251.1234,2)=251.12,trunc(251.1234,-2)=200,trunc(251.1234,-1)=250;4、round(n,p)取指定位置部分(四舍五入),同trunc類似,p指定截取數值的位置,p為0時表示截取整數部分,可以或略:
round(251.34)=251,round(251.56)=252,round(-251.34)=-251,round(-251.56)=-252; 當p為正數時,表示截取時保留小數的位數;當p為負數時,表示截取時保留整數的位置,例如: round(251.1234,2)=251.12,round(251.1234,-2)=300,round(251.1234,-1)=250; 四舍五入時只考慮絕對值,不用關心正還是負。記憶方法:trunc,截取,相當于刀切到那兒是哪兒,不拖泥帶水;round,圓,把后面的值圓回來,所以四舍五入。
下面是四個函數的取整案例:
select trunc(251.75),round(251.75),floor(251.000001),ceil(251.000001) from dual;結果:251,252,251,252
select trunc(-251.75),round(-251.75),floor(-251.000001),ceil(-251.000001) from dual;結果:-251,-252,-252,-251
5、最后順便說一下取余函數mod(n,m),n除以m后的余數,例如:mod(91,30)=1
一般n,m是整數,不過,小數也可以,例如:
select mod(90.32,26.3) from dual;結果是:11.42
總結
到此這篇關于Oracle取整函數用法的文章就介紹到這了,更多相關Oracle取整函數內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!