corner: MySQL: Mehrstellige Zahlen werden falsch sortiert

Beitrag lesen

Warum speicherst Du Deine Daten in einem solch ungeeigneten Format?
Wenn Du viele Daten in der Spalte hast, musst Du einen Index auf eine
berechnete Spalte setzen, damit die Performance nicht in die Knie geht.

Der für Preise sinnvolle Datentyp ist übrigens ein exakter Festkommawert,
DECIMAL, siehe Handbuch - nicht float und erst recht nicht ein Zeichenkettentyp.

Wie ich eben noch einmal überprüft habe, benutze ich tatsächlich eine string-Spalte. Dies tue ich deshalb, weil dort zum Teil mehrere Preise für dasselbe Produkt, entsprechend zu mehreren angebotenen Größen, eingetragen sind, die dann beim Aufbau der Webseite anhand der Trennstriche zerlegt und verarbeitet werden.
Ich muss mir halt eine andere Abfrage ausdenken, z.B. könnte ich die zerlegten Preise in einer temporären Tabelle mit Decimal-Spalte zwischenspeichern und dann in einer weiteren Abfrage sortieren lassen.
Vielen Dank für die Hilfe.

corner