Mysql
 sql >> Base de données >  >> RDS >> Mysql

trier par.... numéros? Aidez-moi à trier les adresses IP

Essayez le INET_ATON fonction

SELECT ip FROM sn_192_168_0
ORDER BY INET_ATON(ip);

Essayez-le !!!

ATTENTION :Il est préférable de ne pas stocker les valeurs INET_ATON. Il y a quelques bizarreries passées avec cette fonction, c'est que vous avez des nombres invalides entre les points et que vous l'appelez dans les déclencheurs.

Ces bogues sont maintenant nettoyés.

Les adresses IP courtes sont gérées correctement. Voici un exemple de MySQL 5.5.12 sous 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)