求解密怎么把网段转化成数字

图片说明

后面的GBG-不用管

--需要使用函数,下面是我刚写的函数
create function getIP
(
@ip varchar(8000),
@idx int
)
returns varchar(3)
as
begin
while @idx>1
begin
if(charindex('.',@ip)=0)
return null
set @ip=substring(@ip,charindex('.',@ip)+1,len(@ip))
set @idx=@idx-1
end
if(charindex('.',@ip)>0)
return substring(@ip,0,charindex('.',@ip))
return @ip
end
--下面是调用:
Declare @ip varchar(15)
set @ip='192.168.0.100'

select dbo.getIP(@ip,1),dbo.getIP(@ip,2),dbo.getIP(@ip,3),dbo.getIP(@ip,4)
查询结果就是你要的结果。另外如果是 dbo.getIP(@ip,5)的话会返回NULL,避免了错误调用。

24*16777216+1*65536+168*256+192=402761920
别的类似