2012-07-03 28 views
2

trunc和round与负参数相同吗?sql中的trunc和round函数

 SQL> select round(123456.76,-4) from dual; 

     ROUND(123456.76,-4) 
     ------------------- 
     120000 

     SQL> select trunc(123456.76,-4) from dual; 

      TRUNC(123456.76,-4) 
      ------------------- 
     120000 

回答

8

没有,行为取决于显著位的值(第3位(3)是你的情况显著之一,因为它是低于5 roundtrunc这样做)

尝试select trunc(125456.76,-4) from dual(结果是120000)与select round(125456.76,-4) from dual(结果是130000)。现在当有效数字是5(或更高)时,truncround的结果不同。

+0

肯定。谢谢...明白了:) – lakshganga

+1

@lakshganga:请注意,如果答案解决了您的问题,您可以[正式接受](http://meta.stackexchange.com/questions/5234/how-does-接受答案 - “接受答案如何工作?”)。 –

1

ROUND与给定值的圆形数字有关。

TRUNC与给定值的截断有关。

round情况作了说明。例如,之前小数点四个地方,直到第4位填充为0

trunc情况下,四个地方,直到小数点replacd之前,第四位为0