将IP地址转换为二进制

来源:互联网 发布:魔兽世界7.0 mac版国服 编辑:程序博客网 时间:2024/04/29 09:41
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

create function dbo.changeIPtoBin
(
    
@startip nvarchar(30)
)
returns varchar(32

as 
begin
    
declare @IP1 int
    
declare @IP2 int
    
declare @IP3 int
    
declare @IP4 int

    
declare @startIPBin varchar(32)

    
declare @ind1 int
    
declare @ind2 int
-----
    select @ind1=charindex('.',@startip,1)
    
select @IP1=substring(@startip,1,@ind1-1)

    
select @ind2=charindex('.',@startip,@ind1+1)
    
select @IP2=substring(@startip,@ind1+1,@ind2-@ind1-1)

    
select @ind1=charindex('.',@startip,@ind2+1)
    
select @IP3=substring(@startip,@ind2+1,@ind1-@ind2-1)

    
select @ind2=len(@startip)
    
select @IP4=substring(@startip,@ind1+1,@ind2-@ind1)

    
select @startIPBin=dbo.Dec2Bin(@IP1,8)+dbo.Dec2Bin(@IP2,8)+dbo.Dec2Bin(@IP3,8)+dbo.Dec2Bin(@IP4,8)
    
    
return @startIPBin
end




GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO