Mysql ORDER BY Int

ZockerLordLP

Erfahrenes Mitglied
Mysql Sortieren
Hallo Community

Ich habe folgendes in einer Mysql Datenbank stehen:

1
3n
4q
6
7b
2v
9z

Jetzt möchte ich diese Zeichenketten nach int sortieren. Dies sollte wenn möglich in der SQL Abfrage stehen. Wie mache ich das?


Danke
 
Code:
SELECT *, CAST(SUBSTRING(spalte_mit_ints, 1, 1) AS INTEGER) AS intwert FROM tabelle ORDER BY intwert ASC;

ungetestet

EDIT: Wenn der CAST nicht funktioniert, dann mach es mal mit CONVERT:

Code:
SELECT *, CONVERT(SUBSTRING(spalte_mit_ints, 1, 1), INTEGER) AS intwert FROM tabelle ORDER BY intwert ASC;

EDIT2: Die Funktion heißt natürlich SUBSTRING nicht SUBSTR.
 
Zuletzt bearbeitet:
Du kannst den Substring gleich weglassen
SQL:
SELECT CONVERT('13a', SIGNED);
-- 13

SELECT CAST('13a' AS SIGNED);
-- 13
 
Zuletzt bearbeitet von einem Moderator:
Zurück