MySQL 里记录货币用什么字段类型比较好?

在MySQL数据库中,我们常常使用Decimal和Numeric类型来表示与货币相关的数据。实际上,这两种类型在MySQL中被实现为相同的类型,并且它们都被用于保存货币数据。

例如,可以使用DECIMAL(9,2)来表示工资(salary),其中9(precision)表示用于存储值的总小数位数,而2(scale)表示存储小数点后的位数。salary列中存储的值的范围为-9999999.99到9999999.99。

DECIMAL和NUMERIC值以字符串形式存储,而不是作为二进制浮点数,以保留这些值的小数精度。

为什么不使用float或double类型呢?因为float和double类型是以二进制形式存储的,所以存在一定的精度误差。为了确保货币数据的精确性,我们使用Decimal和Numeric类型来进行存储。

标签: java, Java面试题, MySQL, Java问题合集, MySQL面试题, ava常见问题, Java编程, Java问题精选