IP地址转化为数字,charindex ,SUBSTRING

  SET NOCOUNT ON; declare  @I_PCity table(IPStart  nvarchar(255), Area   nvarchar(255),CityID int,IPID  int )declare @IPStart nvarchar(255),@diana int,   --存放点@dianb int,@dianc int,@liea bigint,    -- 存放列     @lieb  bigint,@liec bigint,@lied bigint,@intlon bigint   --存放化为的整数insert into  @I_PCity(IPStart, Area, CityID, IPID ) select  IPStart,  Area, CityID, IPID   from I_IPCity (nolock)  where IPID>= 430000   and IPStart is not null and IP3 is null-- while( exists(select top 1 * from @I_PCity))beginset @IPStart= (select top 1 IPStart from @I_PCity  );set @diana= charindex('.',@IPStart)       --第一个点的下标set @dianb= charindex('.',@IPStart, @diana +1 )  --第二个点的下标set @dianc= charindex('.',@IPStart, @dianb  +1 )  --第三个点的下标set @liea  =  SUBSTRING(@IPStart,1,@diana-1)    --第一列的值    set @lieb  =SUBSTRING(@IPStart,@diana+1,@dianb-@diana-1 )--第二列的值       set @liec  =SUBSTRING(@IPStart,@dianb+1,@dianc-@dianb-1 )--第三列的值set @lied  =SUBSTRING(@IPStart,@dianc+1, LEN(@IPStart))--第四列的值set @intlon=  @lied+(@liec*1000)+(@lieb*1000000)+(@liea*1000000000)  --拼为整数update I_IPCity set IP3 =@intlon   where IPID=  (select top 1 IPID from @I_PCity)delete top(1) from @I_PCityend

返回前台所查到的结果:

USE [91hurong]
GO
/****** Object:  StoredProcedure [dbo].[ProIP]    Script Date: 08/13/2015 08:40:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE  [dbo].[ProIP]-- Add the parameters for the stored procedure here@str  varchar(50)
AS
BEGINdeclare @IPStart nvarchar(255), --存放传入的数据@diana int,   --存放点@dianb int,@dianc int,@liea bigint,    -- 存放列     @lieb  bigint,@liec bigint,@lied bigint,@intlon bigint   --存放化为的整数set @IPStart= @str;               --传入的IP'1.11.6.6'-- set @IPStart= '1.11.6.6';  set @diana= charindex('.',@IPStart)       --第一个点的下标set @dianb= charindex('.',@IPStart, @diana +1 )  --第二个点的下标set @dianc= charindex('.',@IPStart, @dianb  +1 )  --第三个点的下标set @liea  =  SUBSTRING(@IPStart,1,@diana-1)    --第一列的值    set @lieb  =SUBSTRING(@IPStart,@diana+1,@dianb-@diana-1 )--第二列的值       set @liec  =SUBSTRING(@IPStart,@dianb+1,@dianc-@dianb-1 )--第三列的值set @lied  =SUBSTRING(@IPStart,@dianc+1, LEN(@IPStart))--第四列的值set @intlon=  @lied+(@liec*1000)+(@lieb*1000000)+(@liea*1000000000)  --拼为整数declare @inta  bigintset @inta=(select top 1  IP3   from I_IPCity  where IP3>@intlon  and IPStart is not null and IPID is not null and IP3 is not null order by IP3 asc)select top 1 * from I_IPCity where IP3<@inta and IPStart is not null and IPID is not null and IP3 is not null  order by IP3 desc    --返回'61.177.117.6'在表中对应的数据 
END
exec ProIP '61.177.117.6'

说明:

 'Arg.ea'  对应位置:1 2 3 4 5 6charindex('.','Arg.ea') >0   --如果大于零,则表示字符串Area中含有字符串CityName; 此例为truecharindex('.','Arg.ea',2 )  -- 从第二个位置后,也就是从 字母'r'后开始找,先判断 ‘g’是否为‘.’ ,为否;继续判断‘.’是否为‘.’,此表达式为trueSUBSTRING('Arg.ea',1,2)  --截取 字符串 'Arg.ea'中 第一个位置到第二个位置 ;也就是‘Ar’

 

转载于:https://www.cnblogs.com/woloveprogram/p/4727591.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt 如何处理密集型耗时的事情

有时候需要处理一些跟界面无关的但非常耗时的事情&#xff0c;这些事情跟界面在同一个线程中&#xff0c;由于时间太长&#xff0c;导致界面无法响应&#xff0c;处于“假死”状态。例如&#xff1a;在应用程序中保存文件到硬盘上&#xff0c;从开始保存直到文件保存完毕&#…

剑指offer之数组中的逆序对

1 问题 在数组中的两个数字&#xff0c;如果前面一个数字大于后面的数字&#xff0c;则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007。 比如数列{6&#xff0c;202&#xff0c;100&#xf…

【EPS精品教程】基于DOM和DSM创建垂直模型、加载垂直模型

本教程讲解EPS三维测图模块,主要内容有新建工程、创建垂直模型,为后续工作做准备。 目录 一、创建工程 二、生成垂直摄影模型

从旧金山到上海, HTTP/3 非常快!

HTTP/3 是超文本传输协议 (HTTP) 的第三个版本&#xff0c;它对 Web 性能来说意义重大, 让我们看看HTTP/3 如何让网站的速度变得更快&#xff01;等等&#xff0c;HTTP/2 发生了什么? 不是几年前才开始推广 HTTP/2 吗? 确实是这样, 但是它出现了一些 问题[1]&#xff0c; 包括…

最大尺寸分辨率_未来就在眼前——视涯科技推出最高分辨率硅基OLED显示屏幕...

声明&#xff1a;新闻稿非映维官方稿件&#xff0c;任何法律问题均与映维无关视涯科技•未来就在眼前2019年7月9日&#xff0c;在位于合肥新站高新区的自建工厂内&#xff0c;视涯科技(以下简称&#xff1a;“视涯”)作为一家半导体显示技术公司&#xff0c;公布开发中的两款硅…

Qt 第二步 熟悉文件结构组成(二)

目录导航&#xff1a; 《Qt 第一步 HelloWorld 的第一个程序》 《Qt 第二步 槽与信号&#xff08;一&#xff09; 实现点击按钮并弹窗》 本文参考《Qt5.9 c开发》 上一篇文使用了槽与信号完成了点击按钮并弹窗的程序效果&#xff0c;这一篇文将会了解Qt的项目文件组成。本节将会…

ArrayList实现

ArrayList实现 数组实现父类:AbstractList接口:List&#xff0c;RandomAccess&#xff0c;Cloneable&#xff0c;Serializable字段://默认容量private static final int DEFAULT_CAPACITY 10;//空的数组,构造函数参数为0和trim中使用,构造参数给0的人绝对会被打死,每放一个元素…

oracle数据本机自动备份

1、创建三个文件 exp.list 内容&#xff1a;oracle数据库的用户名和密码 name pwd exp.log 主要用于存储在自动备份数据库时的日志信息 exp.sh #!/bin/sh#找到数据库的路径 export ORACLE_BASE/u01/app/oracle export ORACLE_HOME$ORACLE_BASE/product/10.2.0/db_1 export …

Chrome浏览器切换到之前打开的标签页会重新加载

这是谷歌的一种策略。当系统内存不足时&#xff0c;系统会自动从内存中舍弃标签页 在地址栏输入chrome://flags/#automatic-tab-discarding&#xff0c;设置为停用即可。转载于:https://www.cnblogs.com/freefish12/p/5435585.html

数据结构之判断一棵树是不是满二叉树

1 满二叉树 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。 2 分析 我们知道满二叉树是三…

【Pix4d精品教程】Pix4DMapper 4.4.10/4.4.12/4.5.6经典手把手图文安装教程(附安装包下载)

Pix4Dmapper系列文章合集: 打开Pix4DMapper时提示Pix4DMapper.exe已停止工作的完全解决办法安装Pix4Dmapper时提示“无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll”完全解决办法Pix4Dmapper完整航测内业操作流程手把手图文教程Pix4Dmapper是一款目前比…

php基础教程 第一步 环境配置及helloworld

PHP 是服务器端脚本语言。全称为 Hypertext Preprocessor 为超文本预处理器。 据说php8不久后也要发布了&#xff0c;趁着8还没有发布赶紧写一个php5到php7&#xff08;在基础教程写完后将写php7新特性&#xff09;的教程。PHP版本之间更新会增加新特性&#xff08;别的语言也…

Hadoop(五)C#操作Hive

HiveHive将HiveQL&#xff08;类sql语言&#xff09;转为MapReduce&#xff0c;完成数据的查询与分析&#xff0c;减少了编写MapReduce的复杂度。它有以下优点&#xff1a;学习成本低&#xff1a;熟悉sql就能使用良好的数据分析&#xff1a;底层基于MapReduce实现同样存在一些缺…

【Solidity】3.类型 - 深入理解Solidity

索引 【Solidity】1.一个Solidity源文件的布局【Solidity】2.合约的结构体 【Solidity】3.类型 【Solidity】4.单位和全局可变量 【Solidity】5.表达式和控制结构 【Solidity】6. 合约 【Solidity】7. 部件 【Solidity】8. 杂项 类型 Solidity是一种静态类型的语言&#xff0c;…

etree解析xml_在python中使用Etree解析XML配置文件

请帮助我使用lxml etree解析以下原型的配置文件。我尝试了for event&#xff0c;element和tostring。不幸的是&#xff0c;我不需要文本&#xff0c;而是需要对于给定的属性。在我从这段代码开始&#xff0c;但是在搜索属性时遇到一个键错误&#xff0c;因为它从一开始就扫描^{…

深度优先搜索——八皇后问题

代码&#xff1a;&#xff08;控制台打印不了92种情况&#xff0c;只打印前10种&#xff09; 1 #include<iostream>2 #include<string>3 #include<windows.h>4 #define ok 15 #define error 06 using namespace std;7 8 9 int a[9][9]{0}; 10 int num0; 1…

【CASS精品教程】CASS7.1 道路设计参数文件打开无响应,提示roadpara解决办法,权威解决办法汇总

目录 第一种方法:Win+R 第二种方法:选择打开方式 第三种方法:cmd 在用CASS7.1 软件进行断面法土方量计算,在生成断面图后,需要进行道路设计参数文件的设计,打开断面设计参数文件的时候,无响应,提示roadpara,如下所示:

数据结构之判断一棵树是不是完全二叉树

1 完全二叉树 完全二叉树是由 满二叉树 而引出来的。对于深度为K的&#xff0c;有n个结点的二叉树&#xff0c;当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 如下就是完全二叉树 12 3 4 5 …

ubuntu添加中文输入法

Ubuntu上的输入法主要有小小输入平台&#xff08;支持拼音/二笔/五笔等&#xff09;&#xff0c;Fcitx&#xff0c;Ibus&#xff0c;Scim等。其中Scim和Ibus是输入法框架。在Ubuntu的中文系统中自带了中文输入法&#xff0c;通过CtrlSpace可切换中英文输入法。这里我们主要说下…

打开vs2010,提示无效的许可证数据,需要重新安装

解决办法&#xff1a; 1. 找到安装路径下Microsoft Visual Studio 10.0\Common7\IDE\DDConfigCA.exe ,使用管理员权限运行该exe文件&#xff0c;等待自然退出&#xff1b; 2. 重启VS&#xff0c;重新输入产品密钥&#xff0c;VS2010专业版&#xff08;or旗舰版&#xff09;密…