mysql 函數:
INET_ATON
給出一個作為字符串的網絡地址的點地址表示,返回一個代表該地址數值的整數。地址可以是4或8比特地址。
mysql> SELECT INET_ATON('209.207.224.40');
-> 3520061480
產生的數字總是按照網絡字節順序。如上面的例子,數字按照 209×2563 + 207×2562 + 224×256 + 40 進行計算。
INET_ATON() 也能理解短格式 IP 地址:
mysql> SELECT INET_ATON('127.0.0.1'), INET_ATON('127.1');
-> 2130706433, 2130706433
注釋: 在存儲由INET_ATON() 產生的值時,推薦你使用 INT UNSIGNED 列。假如你使用 (帶符號) INT列, 則相應的第一個八位組大於127的IP 地址值會被截至 2147483647 (即, INET_ATON('127.255.255.255') 所返回的值)。請參見11.2節,“數值類型”。
INET_NTOA
給定一個數字網絡地址 (4 或 8 比特),返回作為字符串的該地址的電地址表示。
mysql> SELECT INET_NTOA(3520061480);
-> '209.207.224.40'
2.SUBSTRING_INDEX
在定界符 delim 以及count 出現前,從字符串str返回自字符串。若count為正值,則返回最終定界符(從左邊開始)左邊的一切內容。若count為負值,則返回定界符(從右邊開始)右邊的一切內容。
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
-> 'mysql.com'
這個函數支持多字節字元。
select count(distinct( substring_index(ip, '.', 3) )) from mhxy_member where id<=20