trunc and round function in sql

18,746

Solution 1

No, behavior depends on the value of the significant digit (the 3rd digit (the 3) is the significant one in your case, as it is below 5 round and trunc do the same )

try select trunc(125456.76,-4) from dual (result is 120000) vs select round(125456.76,-4) from dual (result is 130000). Now when the significant digit is 5 (or higher) the results of trunc and round differ.

Solution 2

ROUND is related to round figure of given value.

TRUNC is related to truncation of given values.

In round case of given example, four places till 4th place prior to decimal point padded with 0.

But in trunc case, four places till 4th place prior to decimal point replacd with 0.

Share:
18,746
lakshganga
Author by

lakshganga

Updated on June 04, 2022

Comments

  • lakshganga
    lakshganga almost 2 years

    Is trunc and round the same with negative arguments?

           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
    
  • Andriy M
    Andriy M almost 12 years
    @lakshganga: Note that if an answer solves your issue/problem, you can accept it formally.
  • mishsx
    mishsx almost 3 years
    Please provide explanation to your code. And remove code formatting from explanation