IP地址轉化爲數字表示

PARSENAME
返回對象名的指定部分。可以檢索的對象部分有對象名、所有者名稱、數據庫名稱和服務器名稱。

 

說明  PARSENAME 函數不表明所指定名稱的對象是否存在,而只是返回給定對象名的指定部分。


語法
PARSENAME ( 'object_name' , object_piece )

用這個函數實現
select  PARSENAME('192.168.0.5',4) 

-----原理是因爲IP地址也是由4部分組成

也可以直接把直接把IP地址轉爲數字來進行處理
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

 

 

 

發佈了50 篇原創文章 · 獲贊 5 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章