程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 基於Mysql的IP處置函數inet_aton()與inet_ntoa()的深刻剖析

基於Mysql的IP處置函數inet_aton()與inet_ntoa()的深刻剖析

編輯:MySQL綜合教程

基於Mysql的IP處置函數inet_aton()與inet_ntoa()的深刻剖析。本站提示廣大學習愛好者:(基於Mysql的IP處置函數inet_aton()與inet_ntoa()的深刻剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是基於Mysql的IP處置函數inet_aton()與inet_ntoa()的深刻剖析正文


有個統計需求,須要對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)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved