DECLARE @ip VARCHAR(60)='113.118.138.159'
DECLARE @ip_int BIGINT=[dbo].[f_IP2Int](@ip)

SELECT [IPstart], [IPend], [M1], [M2], [M3], [M4]
FROM [master].[dbo].[ipv]
WHERE ipstart < @ip_int
  AND [IPend] > @ip_int
GO

SET STATISTICS IO ON
SET STATISTICS TIME  ON

CREATE CLUSTERED INDEX ix_action ON [ipv](ipstart,[IPend])

select   dbo.f_IP2Int('113.118.138.159')  
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

IP数字,数字IP的更多相关文章

  1. 数字转IP地址函数

    --------------------------------------------------------------------- -- Author : htl258(Tony) -- Da ...

  2. 在 shell 脚本获取 ip、数字转换等网络操作

    在 shell 脚本获取 ip.数字转换等网络操作 ip 和数字的相互转换 ip转换为数字 :: function ip2num() { local ip=$1 local a=$(echo $ip ...

  3. 【转】 ip段/数字,如192.168.0.1/24是什么意思?

    http://blog.csdn.net/aerchi/article/details/39396423 ip段/数字,如192.168.0.1/24是什么意思? ip段/数字,如192.168.0. ...

  4. PHP IP互换数字[转]

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. [转帖]IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?

    IP地址.子网掩码.网络号.主机号.网络地址.主机地址以及ip段/数字-如192.168.0.1/24是什么意思? 2016年03月26日 23:38:50 JeanCheng 阅读数:105674  ...

  6. ip段/数字,如192.168.0.1/24的意思是什么?(转)

    ip段/数字,如192.168.0.1/24的意思是什么? 踩踩 0作者:Admin 发表日期:2013-10-31 复制链接 收藏 首先来了解一下二进制的转换知识: 二进制数转换成十进制数 二进制的 ...

  7. Python ip与数字的转换方式

    例子:IP:192.168.1.10 方法一: In [1]: bin(192)Out[1]: '0b11000000' In [2]: bin(168)Out[2]: '0b10101000' In ...

  8. 第十九篇:Mysql两次Group by和ip转数字作比较的一次优化

    业务场景:两张表,ipconfig_group表存了单位和 ip 起始段信息 visit_info表存储了访问次数,失败次数,访问流量,用户ip等信息 两张表的关系为:    一个部门下有若干ip段, ...

  9. [LeetCode] Validate IP Address 验证IP地址

    In this problem, your job to write a function to check whether a input string is a valid IPv4 addres ...

  10. [LeetCode] Restore IP Addresses 复原IP地址

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

随机推荐

  1. Sharepoint 2010 TimerJob重复

    昨天被TimerJob困扰了一天.原因就是TimerJob当中会有一个Httpwebrequest GET请求一个Application Page进行一些操作(其中有一个操作是发送邮件).但是发现随机 ...

  2. JAVAEE学习——hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户

    今日学习:hibernate是什么 一.hibernate是什么 框架是什么: 1.框架是用来提高开发效率的 2.封装了好了一些功能.我们需要使用这些功能时,调用即可.不需要再手动实现. 3.所以框架 ...

  3. 详细理解Java虚拟机的运行过程

    基本概述: Java虚拟机简称JVM,是JRE中的一部分,也是Java程序运行的最关键的部分.完整的Java运行流程大致包括编译.java文件形成.class文件,然后根据.class文件的内容进行一 ...

  4. 创建操作表(UIActionSheet)

    UIActionSheet用来创建一个操作表,它的初始化代码如下: - (IBAction)testActionSheet:(id)sender { UIActionSheet *actionShee ...

  5. Linux安装apache服务

    1.通过yum包下载安装httpd yum -y install httpd*(等待安装) 到下面就安装完毕 2.启动apache服务 service httpd restart 3.现在就可以查看a ...

  6. BZOJ2434 NOI2011阿狸的打字机

    询问x这个串在y中出现的次数. fail数组有一个性质就是一旦a的fail指向b那么b所代表的字串一定是a的后缀. 所以我们看fail树(即按fail反向建树)中x的子树有多少y的结点即可. 这个操作 ...

  7. 我的OI生涯 第六章

    开学了,但是我们并没有像一个正常的高二学生一样坐在教室里接受调研考试的洗礼. 暑假作业这种东西早已被甩在一旁,可以想象回去补文化课时该有多么狼狈. 大王给我们制定了周密的计划,每周两次测试,加上蔡老师 ...

  8. hdu 1569 最小割

    和HDU 1565是一道题,只是数据加强了,貌似轮廓线DP来不了了. #include <cstdio> #include <cstring> #include <que ...

  9. java中重载(overload)与重写(override)的区别

    方法重载(overload): 方法重载就是在一个类中可以创建多个方法,它们具有相同的名字,但是具有不同的参数和不同的定义,调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法,这就 ...

  10. tarjan算法+缩点--cojs 908. 校园网

    cojs 908. 校园网 ★★   输入文件:schlnet.in   输出文件:schlnet.out   简单对比时间限制:1 s   内存限制:128 MB USACO/schlnet(译 b ...