< 返回

字符型IP地址转换成数字IP的SQL函数

2025-05-24 22:12 作者:3310008520 阅读量:494

使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助。

    

/**//*–调用示例   

    

select   dbo.f_IP2Int(‘192.168.0.11’)   

select   dbo.f_IP2Int(‘12.168.0.1’)   

–*/   

CREATE   FUNCTION   [dbo].[f_IP2Int](   

@ip   char(15)   

)RETURNS   bigint   

AS   

BEGIN   

DECLARE   @re   bigint   

SET   @re=0   

SELECT   @re=@re+LEFT(@ip,CHARINDEX(‘.’,@ip+’.’)-1)*ID   

,@ip=STUFF(@ip,1,CHARINDEX(‘.’,@ip+’.’),”)   

FROM(   

SELECT   ID=CAST(16777216   as   bigint)   

UNION   ALL   SELECT   65536   

UNION   ALL   SELECT   256   

UNION   ALL   SELECT   1)A   

RETURN(@re)   

END 

 

/**//*–数字   IP   转换成格式化   IP   地址   

    

–邹建   2004.08(引用请保留此信息)–*/   

    

/**//*–调用示例   

    

select   dbo.f_Int2IP(3232235531)   

select   dbo.f_Int2IP(212336641)   

*/   

CREATE   FUNCTION   [dbo].[f_Int2IP](   

@IP   bigint   

)RETURNS   varchar(15)   

AS   

BEGIN   

DECLARE   @re   varchar(15)   

SET   @re=”   

SELECT   @re=@re+’.’+CAST(@IP/ID   as   varchar)   

,@IP=@IP%ID   

from(   

SELECT   ID=CAST(16777216   as   bigint)   

UNION   ALL   SELECT   65536   

UNION   ALL   SELECT   256   

UNION   ALL   SELECT   1)a   

RETURN(STUFF(@re,1,1,”))   

END  

首页 产品中心 了解我们 个人中心
联系我们
返回顶部