(MySQL) IP-Adressen sortieren
Marc Schumacher
- programmiertechnik
Hallo Leute,
ich hab eine Tabelle in MySQL, wo diverse IP-Adressen enthalten sind.
Diese möchte ich nun sortiert ausgeben.
Ich hab mir da schon ein recht kompliziertes Konstrukt ausgedacht, aber leider nicht ganz fehlerfrei, da das Format doch eingeschränkt ist.
$abfrage .= " order by REPLACE(left(ipadresse,2),'.','') * 1, REPLACE(substring(substring_index(ipadresse,'.',-3),1,2),'.','') * 1, REPLACE(substring(substring_index(ipadresse,'.',-2),1,2),'.','') * 1, REPLACE(right(ipadresse,2),'.','') * 1";
Vielleicht gibts doch ne elegantere Lösung, die auch immer bei beliebigen IP-Adressen richtig sortiert?
Bei mir sortiert er 3-stellige IPs leider nicht richtig.
Rein theoretisch müsste es doch gehen, wenn ich die IP so umstelle:
aus 10.1.123.5 eine 010.001.123.005 machen und dann noch die Punkte entfernen, oder?
Aber wie baue ich sowas in eine MySQL-Abfrage ein?
Dank für Eure Hilfe,
Marc
Hello,
versuch mal order by (inet_nto(inet_aton(IP_STRING))
Liebe Grüße aus http://www.braunschweig.de
Tom
Hello,
Hello,
versuch mal order by (inet_nto(inet_aton(IP_STRING))
Schreibfehler:
order by (inet_ntoa(inet_aton(IP_STRING)) # geht aber nicht...
aber so geht es.
select IP from ADRESSE order by inet_aton(IP);
Liebe Grüße aus http://www.braunschweig.de
Tom
Liebe Grüße aus http://www.braunschweig.de
Tom
Hello Tom,
aber so geht es.
select IP from ADRESSE order by inet_aton(IP);
derf ich das auf die PerlBase tun !?
Bitte .....
Lewe Grüße, Rolf