2012-07-03 3 views
2

Является ли trunc и тем же с отрицательными аргументами?trunc и round function in sql

 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 round и trunc сделать то же самое)

попробуйте select trunc(125456.76,-4) from dual (результат 120000) vs select round(125456.76,-4) from dual (результат 130000). Теперь, когда значащая цифра равна 5 (или выше), результаты trunc и round отличаются.

+0

уверен Спасибо ... – lakshganga

+1

@lakshganga: Обратите внимание, что если ответ решает вашу проблему/проблему, вы можете [принять его формально] (http://meta.stackexchange.com/questions/5234/how-does- прием-ответ-работа «Как принимается ответ?»). –

1

ROUND относится к круглой фигуре данного значения.

TRUNC связан с усечением данных значений.

В round случае данного примера, четыре места до 4 места до десятичной точки заполняется 0.

Но в trunc случае, четыре места до 4-го места до десятичной точки replacd с 0.