mysql 两位小数用什么类型
原创MySQL中存储两位小数的数值类型选择
在MySQL数据库中,当我们需要存储带有小数的数值时,合理选择数据类型非常重要。针对需要存储两位小数的情况,我们可以选择几种不同的数值类型。下面将详细介绍这些类型及其使用场景。
数值类型选择
对于仅需要存储两位小数的数值,以下几种MySQL数据类型是合适的选择:
1. DECIMAL
CREATE TABLE example (
price DECIMAL(5, 2)
);
DECIMAL类型可以精确存储小数点后的数字,通过指定精度(总共的数字位数)和小数位数来定义字段。在上面的例子中,DECIMAL(5, 2)
描述总共有5位数字,其中2位是小数位。故而,它可以存储最大值为999.99的数值。
2. NUMERIC
CREATE TABLE example (
price NUMERIC(5, 2)
);
NUMERIC与DECIMAL类型在MySQL中实际上是相同的,都可以用来存储精确的数值。
3. FLOAT
CREATE TABLE example (
price FLOAT(5, 2)
);
虽然FLOAT和DOUBLE类型关键用于存储浮点数,但它们同样可以用来束缚小数的位数。然而,需要注意的是,使用FLOAT存储精确的小数并不理想,考虑到它们也许会引入舍入误差。如果精度非常重要,推荐使用DECIMAL或NUMERIC类型。
总结
当需要存储两位小数的数值时,推荐使用DECIMAL或NUMERIC类型,考虑到它们可以提供精确的存储,不会因浮点数的舍入误差允许数据失真。只有在你不需要绝对精确,并且对性能有一定要求的情况下,可以考虑使用FLOAT类型。