Hallo
ich baue mir eine Query zurecht, komme aber mit den Floatwerten und dem Vergleichen nicht zurecht:
Wie verwendest Du Deine Vergleichsoperatoren in Deinem SQL-Statement?
offer.price <= 0.4
wäre in einer WHERE-Klausel korrekt:
SELECT
price
FROM offer
WHERE price <= 0.4
Ich möchte gerne alles selecten was < oder = 0.4 ist, leider gottes missachtet MySQL diese Abfrage und ich bekomme einfach kein Resultat geliefert. Die Spalte offer.price ist vom Typ float.
float ist nicht der optimale Datentyp für Preise, da float-Operationen einfachster Art bereits mit Ungenauigkeiten behaftet sind. So ist z.B. 0.1 mit float nicht exakt darstellbar. Nimm doch lieber DECIMAL, siehe Handbuch.
Achjaa, ich nutze PHP und MySQL 4 ;-)
Sowohl PHP 4, als auch MySQL 4 sind sehr ungenaue Angaben. PHP 4.4.2 ist weit leistungsfähiger als PHP 4.0.0. Die Unterschiede zwischen MySQL 4.1 und MySQL 4.0 sind ebenfalls gravierend, allerdings beherrscht MySQL auch in Version 4.0 die Vergleichsoperatoren. Es kann nur an Deiner Verwendung liegen.
Freundliche Grüße
Vinzenz