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