MySQL Truncate函数在某些条目上给出不正确的结果
我想通过查询从我的表中执行一些计算MySQL Truncate函数在某些条目上给出不正确的结果,mysql,Mysql,我想通过查询从我的表中执行一些计算 SELECT foo.idop, foo.cost, foo.qty, foo.rate, TRUNCATE(((foo.cost * foo.qty * foo.rate) / 100),2) AS charge FROM table_foobar foo; 这个查询工作得非常好,并且为大多数记录提供了预期的结果。但一些记录给出的结果偏差为-0.01 我有大量的数据,我无法理解这个TRUNCATE()函数的奇怪行为 请检查下面的屏幕截图中的一些示例条目,其
SELECT foo.idop, foo.cost, foo.qty, foo.rate, TRUNCATE(((foo.cost * foo.qty * foo.rate) / 100),2) AS charge FROM table_foobar foo;
这个查询工作得非常好,并且为大多数记录提供了预期的结果。但一些记录给出的结果偏差为-0.01
我有大量的数据,我无法理解这个TRUNCATE()
函数的奇怪行为
请检查下面的屏幕截图中的一些示例条目,其中突出显示的行给出了错误的结果
列有哪些数据类型?有些是浮动的吗?也许您需要将其中一些转换为
decimal
@juergend更好的是,更改模式。@BartFriederichs和juergend这两个选项都有效。谢谢。我抄近路,换了衣服schema@juergend你摇摇晃晃。更改架构导致部分数据丢失。