Seite 1 von 1

MySQL und FLOAT

Verfasst: 05.04.2006, 10:27
von aklotus
Hallo,

ich habe sonderbare Effekte mit MySQL in Verbindung mit FLOAT-Datentypen.

feld1 ist als FLOAT angelegt

Select * from Tabelle where feld1=15.1

Dies bringt mir kein Ergebnis. Wenn ich die Abfrage etwas ändere, so erhalte ich auch das Feld mit dem Inhalt 15.1, aber leider noch mehr.

Select * from Tabelle where feld1>=15.1

Gebe ich m.E. etwas Unsinniges ein, so erhalte ich das gewüschte Ergebnis, habe doch leider mit der Abfrage etwas "Bauchschmerzen".

Select * from Tabelle where feld1 like '15.1'

Vielleicht hat jemand schon Erfahrung damit gemacht?

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


MySQL und FLOAT

Verfasst: 05.04.2006, 14:35
von derHund
ja, ich. das ist normal bei floats (wenns denn der fehler ist). schau mal im manual zu dem thema float/rechenprobleme - dort ist das irgendwo aufgeführt. das ist afaik ein genereller bug bei floats ... und liegt nicht am sql.

https://dev.mysql.com/doc/refman/4.0/de ... types.html ... offenbar mußt du DECIMAL als typ angeben, dann sollte es funktionieren.

MySQL und FLOAT

Verfasst: 06.04.2006, 08:46
von aklotus
Hallo derHund,

danke für den Hinweis. Ich habe es nun mit DECIMAL(9,2) gemacht. Das hat einen kleinen Nachteil, dass immer 2 Nachkommastellen vorhanden sind. Bei FLOAT wurden keine oder notfalls mehr Nachkommastellen zugelassen.

Nachdem die Anzeige sowieso auf eine Nachkommastelle begrenzt ist, ist dies dennoch eine brauchbare Lösung. Danke nochmals für Deinen Tipp!