Dies wird als ungefähre Präzision bezeichnet . Dies ist kein Fehler, Fließkomma
Datentypen sollen so funktionieren. Sie können Daten nicht genau speichern. Wenn das also wichtig ist, sollten Sie Festkomma-Datentypen verwenden, wie z. types.html">DECIMAL
bei MySQL.
Andererseits können Sie für Gleitkommavergleiche immer das Präzisionsdelta verwenden, wie:
SELECT
`foo`,
`bar`,
IF(ABS(`foo`-`bar`)<1E-13, 0, `foo`-`bar`) AS zero_compared
FROM
t
Wie Sie sehen, ist Delta hier 1E-13
(normalerweise reicht das aus)