改一点点:
1:
create function getIP(@a varchar(15))
returns varchar(15)
As
begin
declare @s varchar(15)
set @s = ''
while charindex('.',@a) > 0
begin
set @s = @s + right('000' + left(@a,charindex('.',@a)),4)
set @a = right(@a,len(@a)-charindex('.',@a))
end
set @s = @s + right('000' + @a,3) -- 刚才漏了这一句
return @s
end
2:
WHERE dbo.getIP(IP字段) BETWEEN dbo.getIP(@begin) AND dbol.getIP(@End)
1:建一个函数
create function getIP(@a varchar(15))
returns varchar(15)
As
begin
declare @s varchar(15)
set @s = ''
while charindex('.',@a) > 0
begin
set @s = @s + right('000' + left(@a,charindex('.',@a)),4)
set @a = right(@a,len(@a)-charindex('.',@a))
end
return @s
end
2:
WHERE dbo.getIP(IP字段) BETWEEN dbo.getIP(@begin) AND dbol.getIP(@End)
declare @a varchar(15),@b varchar(15)
set @a = '202.115.138.0'
set @b = '218.143.0.1'
Select * from 表 where
replace(IP字段,'.','9') between replace(@a,'.','9') and replace(@b,'.','9')