我有两个表,都有一个float(12,4)类型的字段。
让我们说table1.field1 float(12,4)和table2.field1 float(12,4)
如您所见,字段声明相同
问题在于更新这些字段。如果我使用相同值更新这些字段,则会存储不同的值。
插入table1(field1)值(101.4904); update table2 set field1 = field1 + 101.4904
在这些sql语句之后,字段的差异为0.0018
这是在我的本地计算机上测试的,因此没有对数据库进行其他更新。
任何导致这种差异的线索?
答案 0 :(得分:1)
float
是一种不准确的数据类型。如果您需要精确的精度,请使用decimal(15,6)
例如