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