Thomas Mang: was macht mein mysql da bloss??

Beitrag lesen

Hi

hab ne tabelle die ich hier zur vereinfachung auf 2 spalten beschränke und zwar

waren
  typ
  preis

in preis iss jetzt ne float zahl drin, in typ einfach n integer

befehl:

SELECT preis FROM waren WHERE typ=12

bringt mir korrekt alle Preise in der Form wie der preis sein sollte, bei den waren des types 12.

zB: 0.59

bei einer abfrage:

SELECT min(preis) FROM waren WHERE typ=12 hats mich jetzt geschockt, DENN der kleinste preis ist 0.59, aber die ausgabe war:

0.58999997377396

... ?!?

woher kommt denn dieser fehler? iss nur bei min, bei max hab ich getestet: geht ... bei anderen typen auch der fehler: min bringt mir irgendeine übertrieben lange nur annähernd genaue float zahl

Jemand ne Idee, wie ich bei nem MIN Befehl an einen _exakten_ wert kommen?

Ich befürchte, das es da ab ner gewissen Menge von Waren in den Datenbeständen zu cent-Fehlern kommen kann, was für einen Shop _äusserst_ peinlich wäre, und hier sollen sehr grosse Warenmengen übern Tisch gehen pro Bestellung ...

mysql version ist übrigens: 4.0.20 falls das wichtig ist ...