如何使用SQL查询IP地址所属IP段

阅读: 评论:0

如何使用SQL查询IP地址所属IP段

如何使用SQL查询IP地址所属IP段

最近有个朋友说他要做的人员注册量的统计,有两张表,一张是用户注册表,一张是IP段对应城市表。需要根据用户注册时的IP查询到对应的城市,从而知道该城市有多少人注册。

其实没什么,关键是IP地址和IP段的匹配问题。

一开始,我使用的是BETWEEN,结果显然是不行的。

最后我想到用函数直接将192.168.0.1形式的IP按256进制转为数字,然后进行between(或者"<"AND">")。

其实想到方法,实现就简单的多了。下面把函数贴上来,有需要的朋友可以偷偷懒 ^_^

 

1、用户注册表

 

     create table SINO_USER
(
  ID          NUMBER(19),
  USERNAME    VARCHAR2(255),
  UPDATE_TIME TIMESTAMP(6),
  IP          VARCHAR2(255)
)

 

2、IP地址段表

 

create table SINO_IP
(
  ID       NUMBER(19),
  IP_BEGIN VARCHAR2(255),
  CITY     VARCHAR2(255),
  IP_END   VARCHAR2(255)
)

 

注:这两张表是我简化了,千万别以为是生产库的表.....

 

3、创建函数

 

create or replace function f_ip2number(ip in varchar2) return varchar2 as
v_ip_1 number;
v_ip_2 number;<

本文发布于:2024-01-31 01:00:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170663406024183.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:如何使用   地址   SQL   IP
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23