MySQL中建表時需要考慮小數位數的問題,這涉及到報表的精準度和準確性。
在MySQL中,我們定義數值列的小數位數可以使用DECIMAL或者FLOAT類型。
DECIMAL類型:
CREATE TABLE t1 ( value DECIMAL(10, 2) );
其中10表示數字的總長度,2表示小數部分的長度。這樣定義的列可以存儲一個數字,總長度最大可以為10,小數部分長度最大可以為2。
FLOAT類型:
CREATE TABLE t1 ( value FLOAT(10, 2) );
和DECIMAL類型不同,FLOAT類型需要指定的是總精度和小數位數,而不是總長度和小數部分長度。
需要注意的是,在做數值計算時,FLOAT類型可能存在精度的問題,所以對于對精確度要求較高的報表系統,建議使用DECIMAL類型。