2012-07-03 29 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