TRUNC function
TRUNC
removes the decimal values.
SQL> select TRUNC(1.1) from dual;
TRUNC(1.1)
----------
1
SQL> select TRUNC(1.9) from dual;
TRUNC(1.9)
----------
1
SQL> select TRUNC(-1.1) from dual;
TRUNC(-1.1)
-----------
-1
SQL> select TRUNC(-1.9) from dual;
TRUNC(-1.9)
-----------
-1
SQL> select TRUNC(0) from dual;
TRUNC(0)
----------
0
SQL>
TRUNC
function may have a second argument to handle precision,
which means the distance to the right of the decimal point.
The second argument defaults to 0.
SQL> select TRUNC(1.99999) from dual;
TRUNC(1.99999)
--------------
1
SQL> select TRUNC(1.9,0) from dual;
TRUNC(1.9,0)
------------
1
SQL> select TRUNC(1.9,1) from dual;
TRUNC(1.9,1)
------------
1.9
SQL> select TRUNC(1.99,2) from dual;
TRUNC(1.99,2)
-------------
1.99
SQL> select TRUNC(1.999,3) from dual;
TRUNC(1.999,3)
--------------
1.999
SQL>
In addition, the second argument, precision, may be negative, which means displacement to the left of the decimal point.
SQL> select TRUNC(19999.99999,0) from dual;
TRUNC(19999.99999,0)
--------------------
19999
SQL> select TRUNC(19.99999,-1) from dual;
TRUNC(19.99999,-1)
------------------
10
SQL> select TRUNC(199.99999,-2) from dual;
TRUNC(199.99999,-2)
-------------------
100
SQL> select TRUNC(1999.99999,-3) from dual;
TRUNC(1999.99999,-3)
--------------------
1000
SQL>