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