zoukankan      html  css  js  c++  java
  • ip地址与数字相互转换的sql函数 [ZT]

    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   
  • 相关阅读:
    hibernate 多对多 最佳实践
    世界上速度最快的输入法 Fleksy 为了支持中国
    他们控制的定义-DragButton
    怎么样linux下的目录名的目录,系统用来操作空间
    无形的力量,看得见的手
    如何设置eclipse在默认模式下打开文件
    【比赛组织和共享源代码】那些红卫兵游戏
    [Oracle] 分析功能(1)- 语法
    SAP ABAP第一,两,三代出口型BADI实现 解释的概念
    JSP简单的练习-功能标签
  • 原文地址:https://www.cnblogs.com/RobotTech/p/936558.html
Copyright © 2011-2022 走看看