oracle中round()四捨五入

風靈使發表於2018-06-30

語法:

Round 函式

語法為ROUND(number,num_digits)

其中Number是需要進行四捨五入的數字;Num_digits為指定的位數,按此位數進行四捨五入,如果 num_digits 大於 0,則四捨五入到指定的小數位,如果 num_digits 等於 0,則四捨五入到最接近的整數,如果 num_digits 小於 0,則在小數點左側進行四捨五入。

例如:

ROUND(2.149, 0) 將 2.149 四捨五入到一個整數結果為2。

ROUND(2.15, 1) 將 2.15 四捨五入到一個小數位,結果為2.2。

ROUND(2.149, 1) 將 2.149 四捨五入到一個小數位結果為2.1。

ROUND(-1.475, 2) 將 -1.475 四捨五入到兩小數位結果為-1.48)。

ROUND(21.5, -1) 將 21.5 四捨五入到小數點左側一位結果為20。

sqlplus下演示:

SQL> select round(24.946,0) from dual;

ROUND(24.946,0)
---------------
             25
SQL> select round(24.946,1) from dual;

ROUND(24.946,1)
---------------
           24.9
SQL> select round(24.946,2) from dual;

ROUND(24.946,2)
---------------
          24.95
SQL> select round(24.946,-1) from dual;

ROUND(24.946,-1)
----------------
              20
SQL> select round(24.946,-2) from dual;

ROUND(24.946,-2)
----------------
               0
SQL> select round(26.946,-1) from dual;

ROUND(26.946,-1)
----------------
              30

Oracle round()函式與trunc()函式區別介紹

round(x[,y]) 

【功能】返回四捨五入後的值
【引數】x,y,數字型表示式,如果y不為整數則擷取y整數部分,如果y>0則四捨五入為y位小數,如果y小於0則四捨五入到小數點向左第y位。
【返回】數字
【示例】 select round(5555.6666,2.1),round(5555.6666,-2.6),round(5555.6666) from dual;
返回: 5555.67 , 5600 , 5556
【相近】trunc(x[,y]) 返回擷取後的值,用法同round(x[,y]),只是不四捨五入

trunc(x[,y]) 

【功能】返回x按精度y擷取後的值
【引數】x,y,數字型表示式,如果y不為整數則擷取y整數部分,如果y>0則擷取到y位小數,如果y小於0則擷取到小數點向左第y位,小數前其它資料用0表示。
【返回】數字
【示例】 select trunc(5555.66666,2.1),trunc(5555.66666,-2.6),trunc(5555.033333) from dual;
返回:5555.66 5500 5555
【相近】round(x[,y]) 返回擷取後的值,用法同trunc(x[,y]),只是要做四捨五入

相關文章