Hallo und guten Morgen,
Na, dann mach es so:
select cast(replace('2,77', ',','.') as Decimal(10,2)) as preis; -> 2.77
Umsetzen auf deine Aufgabe kannst Du das jetzt aber? Den daran, es müssen BEIDE Seiten gecastet werden, weil aus dem HTML-Formular ja auch das falsche Format kommt.
danke dir.
WHERE cast(replace(preis, ',','.') as Decimal(10,2)) <=? ORDER by preis DESC
Warum muss ich es auf beiden Seiten machen? Wenn ich die Zeile Code ausführe erhalte ich genau das was ich benötige.
Weil nachher die Zahlen wieder aus einem HTML-Formular kommen. Die sind dann doch genauso kaputt, wie die in der Datenbank. Oder macht Ihr nur Abfragen mit dem phpMyAdmin?
Was ich noch nicht verstehe ich das (10,2) auf der Seite https://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_cast steht zwar DECIMAL[(M[,D])] es wird aber nicht genuaer erklärt was M und D sein soll.
Mantisse und Decimals, also Vorkommazahl und Nachkommastellen. Bzw, bedeutet M hier mMn die Gesamtlänge der Zahl in Digits, also inclusive der Nachkommastellen.
Grüße
TS