Marc Schumacher: (MySQL) IP-Adressen sortieren

Beitrag lesen

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