我有一个像这样的 SQL 查询:
UPDATE t_example
SET column1=column2/column3
where 'SOME CLAUSE'
假设 column2 的值为 7,column3 的值为 1,在该语句之后 column1 应设置为值 7,但它始终为 6 而不是 7。对于除数为 1 的任何一对值,结果总是减 1。我没有检查 1 以外的值,但为什么会出现这种情况?
最佳答案
这可能是 float 不准确。
您的 column2
可能是一个 float ,而 column1
是一个 int
。如果计算结果为 6.999999999
,则转换为 int
的结果为 6
。
如果您需要精确度,那么您应该使用定点 数据类型like decimal
.
关于mysql - 为什么这个奇怪的MYSQL会导致 split ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822785/