oracle对向上取整,向下取整,四舍五入取整都提供了函数
ceil函数实现向上取整
floor、trunc实现向下取整
round实现四舍五入取整
CEIL 向上取整,也就是取最接近待取整的数A,并且大于或等于A
SELECT CEIL(10.12) FROM DUAL ; --返回11
SELECT CEIL(10.99) FROM DUAL ; --返回11
FLOOR 向下取整,也就是取最接近待取整的数A,并且小于或等于A
SELECT FLOOR(10.12) FROM DUAL; --返回10
SELECT FLOOR(10.99) FROM DUAL;--返回10
TRUNC实现向下取整
SELECT TRUNC(10.12,0) FROM DUAL ;--返回10,第二个参数表示保留小数的位数,可以不写,默认为不保留小数
SELECT TRUNC(10.99,0) FROM DUAL ;--返回10
trunc函数的使用可以参照我的另一个博客:https://mp.csdn.net/mdeditor/98044869#
ROUND 四舍五入取整,ROUND可以指定小数的位数,这里不做讨论
SELECT ROUND(10.12) FROM DUAL ;--返回10
SELECT ROUND(10.99) FROM DUAL; --返回11
如果想要实现小数的向上取整,可以用先乘再除的方式
SELECT CEIL(2.222*100)/100 FROM DUAL ; --返回2.23
解释:
2.222*100得到222.2,对222.2向上取整得到223,对223/100得到2.23
其他的函数同理