sql >> Base de Datos >  >> RDS >> Mysql

ordenar por.... números? Ayúdame a clasificar las direcciones IP

Pruebe INET_ATON función

SELECT ip FROM sn_192_168_0
ORDER BY INET_ATON(ip);

Pruébalo !!!

ADVERTENCIA:es mejor no almacenar los valores de INET_ATON. Hay algunas peculiaridades pasadas con esta función:tiene números no válidos entre puntos y los llama en disparadores.

Estos errores se han solucionado ahora.

Las direcciones IP cortas se manejan correctamente. Aquí hay un ejemplo de MySQL 5.5.12 en 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)