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

数据库 SQL Server
如果要实现字符型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   地址  
   
--邹建   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循环语句的妙用

责任编辑:段燃 来源: 互联网
相关推荐

2019-03-25 20:31:58

IP地址转换数字

2020-06-01 08:50:38

MySQLIP地址数据库

2010-05-24 15:53:44

MySQL内置函数

2009-08-28 11:03:17

C#长整型数据

2010-09-14 17:08:11

SQL函数

2009-12-02 11:24:21

pingIP地址

2010-03-30 16:45:22

Oracle 字符串

2015-09-28 09:58:24

网络IP地址IP

2015-07-10 09:08:52

IP地址IP地址冲突

2021-06-30 13:13:55

IP地址网络IP限制

2011-03-23 09:54:47

数据模型数据库设计

2012-04-25 14:31:12

2010-09-06 17:22:01

SQL函数

2009-08-28 10:50:17

C#字节数组转换成字符

2010-07-13 14:22:47

SQL Server

2010-07-07 17:09:24

IP地址协议

2010-06-08 14:09:11

IP协议地址

2013-06-13 11:29:26

IP地址规划IP地址企业IP规划

2017-04-01 17:00:39

oracle监听IP地址

2009-02-01 09:42:00

点赞
收藏

51CTO技术栈公众号