ifexists (select*from dbo.sysobjects where id =object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN', N'IF', N'TF')) dropfunction[dbo].[f_IP2Int] GO /**//*--字符型 IP 地址转换成数字 IP --邹建 2004.08(引用请保留此信息)--*/ /**//*--调用示例 select dbo.f_IP2Int('192.168.0.11') select dbo.f_IP2Int('12.168.0.1') --*/ CREATEFUNCTION f_IP2Int( @ipchar(15) )RETURNSbigint AS BEGIN DECLARE@rebigint SET@re=0 SELECT@re=@re+LEFT(@ip,CHARINDEX('.',@ip+'.')-1)*ID ,@ip=STUFF(@ip,1,CHARINDEX('.',@ip+'.'),'') FROM( SELECT ID=CAST(16777216asbigint) UNIONALLSELECT65536 UNIONALLSELECT256 UNIONALLSELECT1)A RETURN(@re) END GO ifexists (select*from dbo.sysobjects where id =object_id(N'[dbo].[f_Int2IP]') and xtype in (N'FN', N'IF', N'TF')) dropfunction[dbo].[f_Int2IP] GO /**//*--数字 IP 转换成格式化 IP 地址 --邹建 2004.08(引用请保留此信息)--*/ /**//*--调用示例 select dbo.f_Int2IP(3232235531) select dbo.f_Int2IP(212336641) --*/ CREATEFUNCTION f_Int2IP( @IPbigint )RETURNSvarchar(15) AS BEGIN DECLARE@revarchar(15) SET@re='' SELECT@re=@re+'.'+CAST(@IP/ID asvarchar) ,@IP=@IP%ID from( SELECT ID=CAST(16777216asbigint) UNIONALLSELECT65536 UNIONALLSELECT256 UNIONALLSELECT1)a RETURN(STUFF(@re,1,1,'')) END