MySQL的numeric類型有兩種:DECIMAL和NUMERIC。這兩種類型都是用來存儲精確的小數(shù)值的,其計算精度取決于設(shè)定的小數(shù)點位數(shù)和整數(shù)位數(shù)。
DECIMAL和NUMERIC類型都有兩個參數(shù):M和D。其中,M代表總的位數(shù),D代表小數(shù)點后的位數(shù)。在MySQL中,DECIMAL和NUMERIC可以存儲最大30位的數(shù)字,其中小數(shù)點前的位數(shù)加上小數(shù)點后的位數(shù)不能超過30。
因此,DECIMAL(5,2)可以存儲5位整數(shù)和2位小數(shù),而DECIMAL(10,5)可以存儲10位整數(shù)和5位小數(shù)。在進行計算時,MySQL會根據(jù)參數(shù)設(shè)定來進行精確的計算,不會出現(xiàn)精度丟失的情況。