Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sortieren nach ... Zahlen? Helfen Sie mir, IP-Adressen zu sortieren

Probieren Sie INET_ATON Funktion

SELECT ip FROM sn_192_168_0
ORDER BY INET_ATON(ip);

Probieren Sie es aus !!!

ACHTUNG:Es ist am besten, die INET_ATON-Werte nicht zu speichern. Es gibt einige frühere Macken bei dieser Funktion, wenn Sie ungültige Zahlen zwischen Punkten haben und sie in Triggern aufrufen.

Diese Fehler werden jetzt behoben.

Kurze IP-Adressen werden ordnungsgemäß behandelt. Hier ist ein Beispiel von MySQL 5.5.12 in Windows 7

mysql> SELECT INET_ATON('127.0.0.1'), INET_ATON('127.1');
+------------------------+--------------------+
| INET_ATON('127.0.0.1') | INET_ATON('127.1') |
+------------------------+--------------------+
|             2130706433 |         2130706433 |
+------------------------+--------------------+
1 row in set (0.05 sec)