Sebastian Jurk: Max eines float in mysql abrufen?

Beitrag lesen

Hallo,

ich habe gerade ein Verständnisproblem zu floats und den Funktionen max und min.

Ich fülle eine Tabelle mit Preisen im amerikanischen Format. ZB 9.2312 und 9.4. Diese fülle ich dann in eine Tabelle und der Preis wird als float gespeichert.

Die queries lasse ich mir ausgeben und da sind immer maximal 5 Nachkommastellen. Auch die Tabelle zeigt das dann so an. Und ohne max oder min werden sie auch so ausgegeben. Allerdings wenn ich das max ausgeben lassen will dann erscheint da, anstatt 9.45, wie es in der Tabelle steht ein 9.449999809265137. Also 15 Stellen hintendran. Obwohl etwas anderes in der Tabelle steht.

Wieso? Mein select sieht einfach so aus:

  
select max(price) as price from pricelist;

Wenn ich das max rausnehme dann sind wieder maximal 5 nachkommastellen da.

Wie kommt das und wie bekomme ich einfach nur das normale max heraus das ich suche? Ich meine Mysql kann es nicht genauer wissen als ich es gespeichert habe. Also muss der Wert schlicht falsch sein.

Danke!
Sebastian