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