Oracle中有几个函数可以帮助我们对数字类型数据取整,不过它们又有所区别。
取整
小数取整,分为向上取整和向下取整。
--1.取整(向上)
SELECT CEIL(-1.001) negative_value, CEIL(1.001) positive_value FROM dual WHERE ROWNUM = 1;
输出
NEGATIVE_VALUE POSITIVE_VALUE
-1 2
--2.取整(向下)
SELECT FLOOR(-1.001) negative_value, FLOOR(1.001) positive_value FROM dual WHERE ROWNUM = 1;
输出
NEGATIVE_VALUE POSITIVE_VALUE
-2 1
截取整数
--3.截取整数
SELECT TRUNC(-1.001) negative_value, TRUNC(1.001) positive_value FROM dual WHERE ROWNUM = 1;
输出
NEGATIVE_VALUE POSITIVE_VALUE
-1 1
截取
--4.截取(四舍五入)
SELECT ROUND(-1.501) negative_value, ROUND(1.401) positive_value FROM dual WHERE ROWNUM = 1;
输出
NEGATIVE_VALUE POSITIVE_VALUE
-2 1
--4.1 截取(四舍五入) ,保留小数
SELECT ROUND(-1.505, 2) negative_value, ROUND(1.404, 2) positive_value FROM dual WHERE ROWNUM = 1;
输出
NEGATIVE_VALUE POSITIVE_VALUE
-1.51 1.4
取余
--5.取余
SELECT MOD(10,3) as remainder FROM dual WHERE ROWNUM = 1;
输出
REMAINDER
1