Seite 1 von 1

MySQL Varchar Spalte als Integer sortieren lassen

Verfasst: 10.06.2008, 20:21
von pvdb
Hi,

ich habe eine Tabelle mit einer Spalte des Typs Varchar. In dieser stehen NUR Zahlen drinnen. (Bitte keine Kommentare, wieso ich keinen INT nehme, das geht an dieser Stelle leider nicht)

Wenn ich nach dieser Spalte sortieren lasse, sortiert er die Zahlen wie einen String und nicht wie einen Integer.

9333
844
73
69993
....


Gibt es eine Möglichkeit in Mysql z.b. mit einem Schlüsselwort die Sortierung wie Integers behandeln zu lassen?

Ansonsten würde ich mir doch den Aufwand machen es so umzubauen, dass die Spalte ein Integer darstellt.

Phil

Verfasst:
von

Verfasst: 10.06.2008, 21:19
von Southmedia

Verfasst: 10.06.2008, 21:44
von pvdb
Vielen Dank für den Tip, wusste gar nicht dass MySQL Casten kann. Geile Sache, habs gleich eingebaut und es haut hin.

Für diejenigen die über das gleiche Problem stoßen hier ein Beispiel, wie man einen String nach Int castet.

$sql = "SELECT * from table order by CAST(value AS UNSIGNED) desc limit 50";

Verfasst: 10.06.2008, 22:17
von Southmedia
Ich leite den Dank an meinen Kollegen weiter, ich hab auch heute zum ersten Mal davon gehört ;)