表结构如下:begin_ip end_ip add1 add2
------------------------------------------------------------------------
194.77.0.0 194.77.255.255 德国 无具体地点
194.78.99.80 194.78.99.95 比利时 BOSTON UNIVERSITY
......初涉mysql,求一存储过程,根据传入的IP,找出对应的地址(add1+add2),表中begin_ip表示起始IP,end_ip表示终止IP ,两者组成一个IP段。
比如传入的是 194.77.0.123,那么返回值就是 “德国 无具体地点”,如果传入的是 194.78.99.85 那么返回值是 “比利时BOSTON UNIVERSITY”,如果传入的IP没找到,就返回“暂无此IP信息”
不知道我的表述是否清楚,还请各位高手赐教!谢谢
------------------------------------------------------------------------
194.77.0.0 194.77.255.255 德国 无具体地点
194.78.99.80 194.78.99.95 比利时 BOSTON UNIVERSITY
......初涉mysql,求一存储过程,根据传入的IP,找出对应的地址(add1+add2),表中begin_ip表示起始IP,end_ip表示终止IP ,两者组成一个IP段。
比如传入的是 194.77.0.123,那么返回值就是 “德国 无具体地点”,如果传入的是 194.78.99.85 那么返回值是 “比利时BOSTON UNIVERSITY”,如果传入的IP没找到,就返回“暂无此IP信息”
不知道我的表述是否清楚,还请各位高手赐教!谢谢
+--------------+----------------+--------+------------+
| begin_ip | end_ip | add1 | add2 |
+--------------+----------------+--------+------------+
| 194.77.0.0 | 194.77.255.255 | 德国 | 无具体地点 |
| 194.78.99.80 | 194.78.99.95 | 比利时 | BOSTON |
+--------------+----------------+--------+------------+
2 rows in set (0.11 sec)mysql>
mysql> select * from t_yyhakusu
-> where INET_ATON('194.78.99.85') between INET_ATON(begin_ip) and INET_ATON(end_ip);
+--------------+--------------+--------+---------+
| begin_ip | end_ip | add1 | add2 |
+--------------+--------------+--------+---------+
| 194.78.99.80 | 194.78.99.95 | 比利时 | BOSTON |
+--------------+--------------+--------+---------+
1 row in set (0.11 sec)mysql>