MySQL保留幾位小數的4種方法

pythontab發表於2018-11-22

1 round(x,d)

用於資料x的四捨五入, 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)

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

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

結果分別:100.35,100.00,100.60


4 convert(num,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


相關文章