當我使用下面的指令查詢資料時
select * from ipmactable order by ip
出現下面囧境:
192.168.1.1
192.168.1.111
192.168.1.2
192.168.1.22
192.168.1.5
如上ip位址以文字方式排序,而不是以數字方式排序。
在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)
IP排序便可正常如下:
192.168.1.1
192.168.1.2
192.168.1.5
192.168.1.22
192.168.1.111
沒有留言:
張貼留言