使用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
【编辑推荐】
基于时间SQL函数详解
巧用SQL函数实现身份证15位变18位
教您使用SQL中的TRUNC函数
SQL中表变量的不足
SQL循环语句的妙用