日期:2014-05-16  浏览次数:20499 次

oracle round(x[,y])和trunc(x[,y])区别

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
?