Oracle SQL 関数 : TRUNC : 数値切捨て処理

 numberRet := TRUNC( numberSrc [ , numberUnit ] );

 TRUNCは数値データnumberSrcを小数点以下numberUnit桁までに切り捨てた数値を返します。
  numberUnitが省略されると0(ゼロ)と指定したことと同様で、小数点以下を切り捨てます。
  numberUnitが負の場合は、小数点から見てnumberUnit*(-1)の位置の桁以下を全て0にします。

numberUnitの値と切り捨てる桁についてはROUND関数と似ています。

numberUnit値 切り捨てる桁
3 小数点以下4桁目
2 小数点以下3桁目
1 小数点以下2桁目
0 小数点以下1桁目
-1 一の位の桁
-2 十の位の桁
-3 百の位の桁
SQL> SELECT TRUNC(1234.5678, 3) DP4 ,TRUNC(1234.5678, 2) DP3 ,
  2         TRUNC(1234.5678, 1) DP2 ,TRUNC(1234.5678, 0) DP1 ,
  3         TRUNC(1999.5678,-1) DPL1,TRUNC(1999.5678,-2) DPL2,TRUNC(1999.5678,-3) DPL3
  4  FROM DUAL;

       DP4        DP3        DP2        DP1       DPL1       DPL2       DPL3
---------- ---------- ---------- ---------- ---------- ---------- ----------
  1234.567    1234.56     1234.5       1234       1990       1900       1000