首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求高手。求一存储过程。该怎么处理

2012-02-09 
求高手。急求一存储过程。。。。需求:现有一IP表字段(id,ipfrom,ipto,ipaddress,pid,cid)用于注册时检测IP自动

求高手。急求一存储过程。。。。
需求:现有一IP表   字段(id,ipfrom,ipto,ipaddress,pid,cid)
            用于注册时检测IP自动填入省份和城市.
            由于表太大,现在准备合并连续段的IP。
实例表数据:
id   |       FINT       |         TINT       |     ipfrom   |           ipto           |         地址               |省   |市
—————————————————————————————————————
1     |0           |   255255255   |   0.0.0.0   |0.255.255.255   |IANA     CZ88.NET   |71|475
2     |1000000000|   1000000000|   1.0.0.0   |1.0.0.0           |IANA     CZ88.NET   |71   |475
3     |1000000001|   1255255255|   1.0.0.1   |1.255.255.255   |美国     CZ88.NET   |71   |475
19   |2000000000|   2255255255|   2.0.0.0   |2.255.255.255   |IANA     CZ88.NET   |71   |475
149|3000000000|   3255255255|   3.0.0.0   |3.255.255.255   |美国   新泽西通     |71   |475

比喻说这几天数据就完全可以合并的了。地址取被合并到的最后一条记录的地址。合并后的记录为第一个被合并的ipfrom到最后一个被合并的ipto.注意有的连续的记录但是不是一个省份和城市的就不能合并.

以下几种类似情况合并:
上个记录的ipto为:1.255.255.255     下个记录的ipfrom为:2.0.0.0   (加第一位)
上个记录的ipto为:1.250.255.255     下个记录的ipfrom为:1.251.0.0   (加第二位)
上个记录的ipto为:1.250.2.255     下个记录的ipfrom为:1.251.3.0   (加第三位)
上个记录的ipto为:1.250.2.1     下个记录的ipfrom为:1.250.2.2   (加第四位)



[解决办法]
把IP转为BIGINT类型,自然就连续了。

热点排行