|
|
|
|
Bonjour,
Je ne trouve pas comment trier dans un orde croissant un champ qui contient des adresses IP:
par exemple actuellement :
192.168.1.1 192.168.1.100 192.168.1.122 192.168.1.20 192.168.1.251 192.168.1.30
192.168.1.1 192.168.1.20 192.168.1.30 192.168.1.100 192.168.1.122 192.168.1.251
Configuration: Windows Vista Firefox 3.0.4
J'ai trouvé ça sur SQL server, mais ça marche pas tel quel sur MySQL :
|
Voila la solution :
SELECT CONVERT(SUBSTRING_INDEX(adresse_ip, '.', 1), UNSIGNED INTEGER) as nb1, CONVERT(SUBSTRING_INDEX(SUBSTRING_INDEX(adresse_ip, '.', 2), '.', -1), UNSIGNED INTEGER) as nb2, CONVERT(SUBSTRING_INDEX(SUBSTRING_INDEX(adresse_ip, '.', -2), '.', 1), UNSIGNED INTEGER) as nb3, CONVERT(SUBSTRING_INDEX(SUBSTRING_INDEX(adresse_ip, '.', -2), '.', -1), UNSIGNED INTEGER) as nb4, adresse_ip from table1 ORDER BY nb1,nb2,nb3,nb4 1000101 et plus si affinité ;)
|