ROUND for negative value : ROUND « Numerical Math Functions « Oracle PL/SQL Tutorial






"Next highest absolute value" for negative numbers rounds to the negative value of the appropriate absolute value of the negative number; e.g., ROUND(6.8) = 7

SQL>
SQL>
SQL> -- create demo table
SQL> create table myTable(
  2    id           NUMBER(2),
  3    value        NUMBER(6,2)
  4  )
  5  /

Table created.

SQL>
SQL> -- prepare data
SQL> insert into myTable(ID,  value)values (1,9)
  2  /

1 row created.

SQL> insert into myTable(ID,  value)values (2,2.11)
  2  /

1 row created.

SQL> insert into myTable(ID,  value)values (3,3.44)
  2  /

1 row created.

SQL> insert into myTable(ID,  value)values (4,-4.21)
  2  /

1 row created.

SQL> insert into myTable(ID,  value)values (5,10)
  2  /

1 row created.

SQL> insert into myTable(ID,  value)values (6,3)
  2  /

1 row created.

SQL> insert into myTable(ID,  value)values (7,-5.88)
  2  /

1 row created.

SQL> insert into myTable(ID,  value)values (8,123.45)
  2  /

1 row created.

SQL> insert into myTable(ID,  value)values (9,98.23)
  2  /

1 row created.

SQL>
SQL> select * from myTable
  2  /

        ID      VALUE
---------- ----------
         1          9
         2       2.11
         3       3.44
         4      -4.21
         5         10
         6          3
         7      -5.88
         8     123.45
         9      98.23

9 rows selected.

SQL>
SQL>
SQL> SELECT id, value,ROUND(value) FROM myTable
  2  /

        ID      VALUE ROUND(VALUE)
---------- ---------- ------------
         1          9            9
         2       2.11            2
         3       3.44            3
         4      -4.21           -4
         5         10           10
         6          3            3
         7      -5.88           -6
         8     123.45          123
         9      98.23           98

9 rows selected.

SQL>
SQL>
SQL>
SQL>
SQL> -- clean the table
SQL> drop table myTable
  2  /

Table dropped.

SQL>
SQL>








14.17.ROUND
14.17.1.ROUND(x, [y]) gets the result of rounding x an optional y decimal places.
14.17.2.ROUND column value
14.17.3.ROUND for negative value
14.17.4.ROUND may have a second argument to handle precision: means the distance to the right of the decimal point
14.17.5.The second argument of ROUND defaults to 0
14.17.6.The second argument of ROUND, precision, may be negative, which means displacement to the left of the decimal point
14.17.7.ROUND(5.75)
14.17.8.ROUND(5.75, 1)
14.17.9.ROUND(5.75, -1) (2)
14.17.10.ROUND(345.678,2) ROUND(345.678,-1) ROUND(345.678,-2)
14.17.11.Demonstrates the ROUND function
14.17.12.round(sqrt(sal),2)