ip地址与数字相互转换的sql函数

if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[f_IP2Int]')   and   xtype   in   (N'FN',   N'IF',   N'TF'))   
  
drop   function   [dbo].[f_IP2Int]   
  
GO   
    
  
/*--字符型   IP   地址转换成数字   IP   
    
  --邹建   2004.08(引用请保留此信息)--
*/
   
    
  
/*--调用示例   
    
  select   dbo.f_IP2Int('192.168.0.11')   
  select   dbo.f_IP2Int('12.168.0.1')   
  --
*/
   
  
CREATE   FUNCTION   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   
  
GO   
    
    
    
  
if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[f_Int2IP]')   and   xtype   in   (N'FN',   N'IF',   N'TF'))   
  
drop   function   [dbo].[f_Int2IP]   
  
GO   
    
  
/*--数字   IP   转换成格式化   IP   地址   
    
  --邹建   2004.08(引用请保留此信息)--
*/
   
    
  
/*--调用示例   
    
  select   dbo.f_Int2IP(3232235531)   
  select   dbo.f_Int2IP(212336641)   
  --
*/
   
  
CREATE   FUNCTION   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   
作者:jillzhang
出处:http://jillzhang.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2007-10-24 10:11 Robin Zhang 阅读(953) 评论(4)  编辑 收藏 网摘

  回复  引用    
#1楼2007-12-17 19:06 | by[未注册用户]
不错,收藏了

http://www.onlinecha.com

  回复  引用    
#2楼2008-04-15 16:29 | paple[未注册用户]
赞一个~~~~~~~
  回复  引用    
#3楼2008-11-04 15:12 | 薛宝岭[未注册用户]
靠,怪不得能找那么漂亮个媳妇,这个代码真好!
  回复  引用  查看    
#4楼2008-11-04 15:20 | 丁学      
IPv6搞得定不?



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 935621




相关文章:

相关链接: