MySQL 數字保留兩位小數


1、ROUND(x,d)

    用於數據的四舍五入,ROUND(x)其實就是ROUND(x,0),也就是默認d為0;這里有個值得注意的地方是,d可以是負數,這時是指定小數點左邊的d位整數位為0,同時小數位均為0。

SELECT ROUND(100.3465,2),ROUND(100,2),ROUND(0.6,2),ROUND(114.6,-1);

    結果分別:>100.35,100,0.6,110

2、TRUNCATE(x,d)

    函數返回被舍去至小數點后d位的數字x。若d的值為0,則結果不帶有小數點或不帶有小數部分。若d設為負數,則截去(歸零)x小數點左起第d位開始后面所有低位的值。

SELECT TRUNCATE(100.3465,2),TRUNCATE(100,2),TRUNCATE(0.6,2),TRUNCATE(114.6,-1);

    結果分別:>100.34,100,0.6,110

3、FORMAT(X,D)

    強制保留D位小數,整數部分超過三位的時候以逗號分割,並且返回的結果是string類型的

SELECT FORMAT(100.3465,2),FORMAT(100,2),FORMAT(,100.6,2);

    結果分別:100.35,100.00,100.60

4、convert(value,type)

    類型轉換,相當於截取。type如下:

    ♥ 二進制,同帶binary前綴的效果 : BINARY

    ♥字符型,可帶參數 : CHAR()

    ♥日期 : DATE

    ♥時間: TIME

    ♥日期時間型 : DATETIME

    ♥浮點數 : DECIMAL

    ♥整數 : SIGNED

    ♥無符號整數 : UNSIGNED

SELECT CONVERT(100.3465,DECIMAL(10,2)), CONVERT(100,DECIMAL(10,2)),CONVERT(100.4,DECIMAL(10,2));

    結果分別:100.35,100,100.4

5、 FLOOR(x)

    函數返回小於 x 的最大整數值。

問與答

    Q: floor可以向下取整保留兩位小數嗎?

    A: floor函數做不到,她只返回整數部分,小數部分舍棄。建議使用ROUND函數進行四舍五入。


免責聲明!

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



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