mysql中ip排序的問題

當查詢以IP排序時
               select * from mypc order by ip
出現下面囧境:
192.168.1.1
192.168.1.11
192.168.1.111
192.168.1.2
192.168.1.22

在mysql中有兩個函數,一個INET_NTOA() 一個INET_ATON()
N就是數字(NUMBER) A就是位址(ADDRESS)
如果下指令   SELECT INET_ATON('127.0.0.1');
出現   2130706433
如果下指令   SELECT INET_NTOA(2130706433);
出現   '127.0.0.1'
所以我在查詢時排序使用INET_ATON()就可以把IP使用數字化排序。
指令:
          select * from ipmactable order by inet_aton(ip)
便可正常如下:
192.168.1.1
192.168.1.2
192.168.1.5
192.168.1.22
192.168.1.111

 

來源 : http://hd-inky.blogspot.tw/2010/05/mysqlip.html

(Visited 141 times, 1 visits today)