Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

MySQL und FLOAT

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
aklotus
PostRank 2
PostRank 2
Beiträge: 42
Registriert: 05.04.2005, 14:01
Wohnort: Erlangen

Beitrag von aklotus » 05.04.2006, 10:27

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?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

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

Jetzt anfragen: 0511 / 300325-0.


derHund
PostRank 5
PostRank 5
Beiträge: 296
Registriert: 08.01.2005, 14:39

Beitrag von derHund » 05.04.2006, 14:35

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.

aklotus
PostRank 2
PostRank 2
Beiträge: 42
Registriert: 05.04.2005, 14:01
Wohnort: Erlangen

Beitrag von aklotus » 06.04.2006, 08:46

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!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag