在 MySQL 数据库中,有一种叫做 DECIMAL 的数据类型可以储存带小数点的数字。DECIMAL 类型的字段可以在定义时指定精度和标度,其中精度为该数字的总位数,标度为小数点后的位数。
CREATE TABLE example (
id INT PRIMARY KEY,
decimal_num DECIMAL(7, 3)
);
在上面的代码中,我们定义了一个名为example
的表,其中包含了一个名为decimal_num
的 DECIMAL 类型字段。其精度为 7,标度为 3,也就是该字段可以储存最多 7 位数的数字,其中小数点后最多 3 位。
如果插入一个不符合该字段要求的数字,MySQL 将会抛出错误:
INSERT INTO example (id, decimal_num)
VALUES (1, 9876543.21);
-- ERROR 1264 (22003): Out of range value for column 'decimal_num' at row 1
所以要保证插入的数据符合定义的字段类型。同时也需要注意 DECIMAL 类型的字段需要占用更多的空间,因为它以完整形式储存每个数字。