oracle round(x[,y])和trunc(x[,y])区别
1.round(x[,y])是表示四舍五入,
例如:5452.1256 保留三位小数就等于: 5452.126
2.trunc(x[,y])是表示不四舍入
例如:4125.1266 保留二数小数就等于: 4125.12
虽然第三位是6,但也不会进入,因为他不是表示四舍五入的计算
再以oralce的例子解释
select trunc(5555.66666,2.1),trunc(555588888.66666,-3.6),trunc(5555.033333) from dual;
返回:5555.66 555588000 5555
(保留小数一律是转换成整数,再表示保留的小数,也是就用ceil函数先ceil(2.1)=2,再表示保留2位小数)
第一个数是5555.6666 保留二个小数,虽然第三位是6,但也不有进一
第二个数是负数,表示整数部分从右往左保留,从整数第三位开始的右边全部去掉,所以最后的结果就是555588000,[至于为什么是这样,我也不知道^_^];
第三个5555.033333,没有保留数,也就是0位保留,所以变成了的整数5555