【发布时间】:2016-05-26 11:22:27
【问题描述】:
我的表中有双字段。当我从双参数中减去小数部分时,它会出现奇怪的问题。
我在表格中的金额是 0.068
当我减去 0.06 时,它变成了
0.0080000000000001
我对更新的简单查询是
UPDATE
subscriber
SET
balance = balance - _amount
其中 _amount 是一个 Double 参数
由于它是一种遗留实现,我目前无法更改列类型。所以在查询中需要一些解决方法
【问题讨论】:
-
双精度是近似数字,即可能发生这种情况。
-
目前我无法更改类型,否则我可以选择浮点/十进制。我可以在上述查询中做的任何事情作为一种解决方法
-
user20160 我在 sql server 中使用过 double 并且不记得这个问题。我已经要求在不更改类型的情况下提供任何 mysql 解决方法
-
我知道的所有 dbms 产品,包括 SQL Server,都有这种行为。