一个关于IP的问题?
IP表里面的字段是这样的:4.36.125.0,我要判断用户的IP是哪个地区的,该如何判断?
顺便问一句,我的表里有30多万条数据,该如何加快查询呢?
------解决方案--------------------create function iptoNum(@ip varchar(50))
returns bigint
as
begin
declare @s varchar(50)
declare @ip1 varchar(50)
declare @m int
select @s= ' ',@ip=@ip+ '. '
while charindex( '. ',@ip)> 0
begin
select @ip1=left(@ip,charindex( '. ',@ip)-1)
set @m=len(@ip1)
while @m <3
begin
set @ip1= '0 '+@ip1
set @m=@m+1
end
select @s=@s+@ip1
select @ip=stuff(@ip,1,charindex( '. ',@ip), ' ')
end
return convert(bigint,@s)
end
这个我是自己根据请教修改的,你试试看