MySQL的ROUND函數


轉自:https://www.cnblogs.com/1906859953Lucas/p/11581801.html

 

  • ROUND(X) ROUND(X,D)

返回參數X, 其值接近於最近似的整數。在有兩個參數的情況下,返回 X ,其值保留到小數點后D位,而第D位的保留方式為四舍五入。若要接保留X值小數點左邊的D 位,可將 D 設為負值。

mysql> SELECT ROUND(-1.23);

        -> -1

mysql> SELECT ROUND(-1.58);

        -> -2

mysql> SELECT ROUND(1.58);

        -> 2

mysql> SELECT ROUND(1.298, 1);

        -> 1.3

mysql> SELECT ROUND(1.298, 0);

        -> 1

mysql> SELECT ROUND(23.298, -1);

        -> 20

返回值的類型同 第一個自變量相同(假設它是一個整數、雙精度數或小數)。這意味着對於一個整數參數,結果也是一個整數(無小數部分)。

當第一個參數是十進制常數時,對於准確值參數,ROUND() 使用精密數學題庫:

    • 對於准確值數字, ROUND() 使用“四舍五入” 或“舍入成最接近的數” 的規則:對於一個分數部分為 .5或大於 .5的值,正數則上舍入到鄰近的整數值, 負數則下舍入臨近的整數值。(換言之, 其舍入的方向是數軸上遠離零的方向)。對於一個分數部分小於.5 的值,正數則下舍入下一個整數值,負數則下舍入鄰近的整數值,而正數則上舍入鄰近的整數值。
    • 對於近似值數字,其結果根據C 庫而定。在很多系統中,這意味着 ROUND()的使用遵循“舍入成最接近的偶數”的規則: 一個帶有任何小數部分的值會被舍入成最接近的偶數整數。

以下舉例說明舍入法對於精確值和近似值的不同之處:

mysql> SELECT ROUND(2.5), ROUND(25E-1);

+------------+--------------+

| ROUND(2.5) | ROUND(25E-1) |

+------------+--------------+

| 3          |            2 |

+------------+--------------+


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM