国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

基于Mysql的IP處理函數inet_aton()與inet_ntoa()的深入分析

2020-01-18 23:40:52
字體:
來源:轉載
供稿:網友

有個統計需求,需要對IP進行分類統計,Mysql提供了inet_aton()和inet_ntoa()函數進程處理。
具體可以查看官方手冊

INET_ATON(expr)
給出一個作為字符串的網絡地址的點地址表示,返回一個代表該地址數值的整數。地址可以是4或8比特地址。

mysql> select inet_ntoa(3507806248);
+-----------------------+
| inet_ntoa(3507806248) |
+-----------------------+
| 209.20.224.40         |
+-----------------------+
1 row in set (0.00 sec)

產生的數字總是按照網絡字節順序。如上面,數字按照 209×2563 + 207×2562 + 224×2561 + 40 ×2560 進行計算。我們來驗算下:

mysql> select 209*POW(256,3)+207*POW(256,2)+224*POW(256,1)+40*POW(256,0);
+------------------------------------------------------------+
| 209*POW(256,3)+207*POW(256,2)+224*POW(256,1)+40*POW(256,0) |
+------------------------------------------------------------+
|                                                 3520061480 |
+------------------------------------------------------------+
1 row in set (0.02 sec)

INET_ATON() 也能理解短格式 IP 地址:

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.00 sec)

可以理解成為中間2為地址默認為0。

注: 在存儲由INET_ATON() 產生的值時,推薦你使用 INT UNSIGNED 列。假如你使用 (帶符號) INT列, 則相應的第一個八位組大于127的IP 地址值會被截至 2147483647 (即, INET_ATON('127.255.255.255′) 所返回的值)。當然,直接使用bigint更加省事。

INET_NTOA(expr)
給定一個數字網絡地址 (4 或 8 比特),返回作為字符串的該地址的電地址表示。也就是inet_aton()的反函數。

mysql> select inet_ntoa(3507806248);
+-----------------------+
| inet_ntoa(3507806248) |
+-----------------------+
| 209.20.224.40         |
+-----------------------+
1 row in set (0.00 sec)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 迭部县| 甘孜| 澄城县| 长沙县| 吉木萨尔县| 承德市| 拉萨市| 宁晋县| 芷江| 蒲江县| 万荣县| 麻栗坡县| 额尔古纳市| 昌邑市| 山东| 如东县| 巴中市| 格尔木市| 榆社县| 尼玛县| 汉川市| 民权县| 江陵县| 龙泉市| 垣曲县| 滦南县| 河池市| 获嘉县| 曲阳县| 赣榆县| 治县。| 红河县| 民和| 宽城| 武隆县| 大名县| 林周县| 广德县| 南汇区| 繁峙县| 萨迦县|