应用阐明
column_name DECIMAL(P,D);
P
是示意有效数字的精度。P
范畴为 1-65。D
是示意小数点后的位数。D
的范畴是 0-30。
DECIMAL
类型也具备 UNSIGNED
和ZEROFILL
属性,如果应用 ZEROFILL
属性,MySQL 会主动将 UNSIGNED
属性同时增加到列。
应用示例
amount DECIMAL(6,2) NOT NULL;
在此示例中,amount
列最多能够存储 6 位数字,小数位数为 2 位;因而,amount
列的范畴是从 -9999.99
到9999.99
。
-- 公认会计准则 (GAAP) 规定
amount DECIMAL(19,4) NOT NULL;
异样解决
当数值在字段取值范畴之内,小数位多了则四舍五入后间接截断多出的小数位。
当数值在字段取值范畴之外,则间接报 Out of range value
谬误。