小数点以下を切り捨てる、一の位を切り捨てる、十の位を・・・  
⇒ 日付の切り捨て処理(TRUNCate)

TRUNC ( number  [, integer] ) 
return [ number ] 

| number | 切り捨てを行なう数値式 |  | 
| integer | 切り捨てする位(小数の桁数) | default 0 | 


 
TRUNC(数値) 関数の内容
数値式 number を小数第 integer 位(省略時は 0)に切り捨てた値を戻す。
切り捨てする位 integer が負の場合は小数点の左桁、つまり整数部の指定桁以下が切り捨て対象となる。
TRUNC(数値) 使用例
SQL> select num, p, TRUNC(num,p) from trunc_sample;
 
       NUM          P TRUNC(NUM,P)
---------- ---------- ------------
   123.456          2       123.45
   123.456          1        123.4
   123.456          0          123
   123.456         -1          120
   123.456         -2          100
   123.456         -3            0
小数部だけを取り出す豆知識  
MOD 関数を使用する
SQL> select mod(3.14159, 1) from dual;
 
MOD(3.14159,1)
--------------
        .14159
SQL> select mod(3.14159, 0.1) from dual;
 
MOD(3.14159,0.1)
----------------
          .04159
一般化したファンクション(指定桁以下の端数を取り出す)  
- 指定桁の端数部を取り出す。(デフォルトは数値の小数部を取り出す)
CREATE FUNCTION TRUNC_MOD(P_NUM IN NUMBER, P_PLACE IN INTEGER := 0)
RETURN NUMBER
IS
BEGIN
  RETURN MOD(P_NUM, 10 ** P_PLACE);
END;
/
SQL で記述するときは 10 ** P_PLACE は POWER に書き換える。
 
SQL 関数 - TRUNC 関連