当按列显示多个值时,MYSQL更新中的输出错误
我在MYSQL中使用以下查询将colname中的值乘以1000。colname的数据类型为double。它工作正常,但对于表中的一个值,它给出了错误的输出。值为1066203.9,更新后值应为1066203900,但输出值为1066203899.9999999当按列显示多个值时,MYSQL更新中的输出错误,mysql,sql-update,Mysql,Sql Update,我在MYSQL中使用以下查询将colname中的值乘以1000。colname的数据类型为double。它工作正常,但对于表中的一个值,它给出了错误的输出。值为1066203.9,更新后值应为1066203900,但输出值为1066203899.9999999 UPDATE tablename SET colname=colname*1000 WHERE id=1 检查列的数据类型。值可能超出范围。双精度值不精确,因此您看到的可能是正常值。。。看看这个问题和答案:你可能想用十进制代替。也许你在
UPDATE tablename SET colname=colname*1000 WHERE id=1
检查列的数据类型。值可能超出范围。双精度值不精确,因此您看到的可能是正常值。。。看看这个问题和答案:你可能想用十进制代替。也许你在相乘之前看到的值,1066203.9,实际上是从1066203.899999999四舍五入的。当我用1066203.8代替1066203.9时,意思是.8代替.9,那么它就行了fine@fthiella如果我将数据类型从double更改为decimal,它会影响现有值吗