如果要实现字符型IP地址转换成数字IP,该SQL函数应该怎么写呢?下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助。

使用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的SQL函数(字符串转ip地址 函数)  SQL 函数 IP 第1张

/**//*--数字 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循环语句的妙用

转载请说明出处
知优网 » 字符型IP地址转换成数字IP的SQL函数(字符串转ip地址 函数)

发表评论

您需要后才能发表评论