我在从一些表中提取数据时遇到问题。应该返回信息的查询如下:
SELECT *
FROM tableone a,
tabletwo b
WHERE (a.RateCurrency = 'U')
AND (a.EffectiveDate <= '2016-10-05')
AND (a.ExpiryDate >= '2016-10-05')
AND (a.TestOrProd = 'P')
AND (a.TableKey = b.TableKey)
AND (b.Min <= 2.39)
AND (b.Max >= 2.39)
问题出在b.Min上。在平板电脑中,最小值是2.39,由于某种原因MySQL没有达到2.39 <= 2.39。如果我在查询中将2.39更改为2.4,则会提取结果,如果我进入tabletwo并将最小值更改为2.3899,它也会提取结果。
MySql中是否存在某些我不知道的浮动舍入行为? (Min的数据类型是float)
此外,我不知道这是否有所不同,但我们之前使用的是Pervasive数据库,只是转移到了MySql ...这个问题在Pervasive中也出现过,所以两者之间是否存在共同问题?