服务公告

服务公告 > 技术分享 > 字符型IP地址转换成数字IP的SQL函数

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

发布时间:2025-05-24 22:12

使用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  

已经是第一篇啦!

下一篇: Redis简单高效的运行逻辑(redis运行逻辑)

扫一扫访问手机版
30+ 高防云产品
1000+企业的共同选择