.net , C#.net ,IP数据库匹配
请问各位大哥,我在网上下了一个IP数据库下来,看到那些数据懵了,我不知道怎么样匹配
它的数据是这样的
IP1 IP2 country city
2375745536 2375919871 黑龙江省鸡西市 东北虎
请问,如果我知道了一个IP地址,我该怎么匹配啊???
各位大哥帮帮忙啊,在线等!!!!
[解决办法]
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[f_IP2Int]GO--1. 字符串IP地址转换成IP数值函数。CREATE FUNCTION dbo.f_IP2Int(@ip char(15))RETURNS bigintASBEGIN DECLARE @re bigint SET @re=0 SELECT @re=@re+LEFT(@ip,CHARINDEX('.',@ip+'.')-1)*ID ,@ip=STUFF(@ip,1,CHARINDEX('.',@ip+'.'),'') FROM( SELECT ID=CAST(16777216 as bigint) UNION ALL SELECT 65536 UNION ALL SELECT 256 UNION ALL SELECT 1)a RETURN(@re)ENDGO/*===========================================================*/if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_Int2IP]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[f_Int2IP]GO--1. 字符串IP地址转换成IP数值函数。CREATE FUNCTION dbo.f_Int2IP(@IP bigint)RETURNS varchar(15)ASBEGIN DECLARE @re varchar(15) SET @re='' SELECT @re=@re+'.'+CAST(@IP/ID as varchar) ,@IP=@IP%ID from( SELECT ID=CAST(16777216 as bigint) UNION ALL SELECT 65536 UNION ALL SELECT 256 UNION ALL SELECT 1)a RETURN(STUFF(@re,1,1,''))ENDGO