sql准确判断某个ip

问题:如图

当我执行sql要准确查找某个IP是属于哪个库室时候,我刚开始是这样写的

select * from Definition_Read_Room where HFIP like ‘%172.20.139.71%‘

然后这样来查会出现一个问题,当查找的是172.20.139.7这个ip时候,如果HFIP里面存在

172.20.139.71或则172.20.139.712等的,会不能准确的找到该IP详细属于哪个库室,所以需要写一个sql函数,如下:

create function f_split(@c varchar(2000),@split varchar(2))
returns @t table(col varchar(20))
as
    begin 

      while(charindex(@split,@c)<>0)
        begin
          insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
          set @c = stuff(@c,1,charindex(@split,@c),‘‘)
        end
      insert @t(col) values (@c)
      return
    end
go 

然后执行该函数,重新写sql,如下:

select * from Definition_Read_Room where ‘172.20.139.71‘ in (select * from dbo.f_split(HFIP,‘,‘))
时间: 2024-08-04 08:33:20

sql准确判断某个ip的相关文章

如何判断自己IP是内网IP还是外网IP

tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255  172.16.0.0/12:172.16.0.0-172.31.255.255  192.168.0.0/16:192.168.0.0-192.168.255.255 使用保留地址的网络只能在内部进行通信,而不能与其他网络互连.如果要与外部通信,那么必须通过网关与外部通信,这里使用了NAT, NAPT技术就是用来保证通信的代理机制. 另外,一些宽带

sql server 判断是否存在数据库,表,列,视图

1 判断数据库是否存在if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名] 2 判断表是否存在if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)    drop table [表名] 3 判断存储过程是否存在if ex

C# WebBrowser准确判断网页最终装载完毕

== 最近写了个软件叫WebAutoScript,目的用于,网页的自动操作处理,就是说,所有你在网页上面的操作,都可以录到一个脚本中,然后可以回放这个操作过程..我是说任何过程. 程序是用C#写的,其中遇到了一个难题,对于网页,我是用C#内置的WebBrowser控件控制,但是这个控件有个问题,就是不能准确判断网页什么时候最终装载完毕,如果这个不能判断的话,我根本不可以判断什么时候执行下一个动作,因为网页还没有打开,不可能去点击还没有出现的按钮等...google了海内外,竟然没有人搞定过,除非

SQL SERVER 判断是否存在并删除某个数据库、表、视图、触发器、储存过程、函数

-- SQL SERVER 判断是否存在某个触发器.储存过程 -- 判断储存过程,如果存在则删除IF (EXISTS(SELECT * FROM sysobjects WHERE name='procedurename' AND type='P')) DROP PROCEDURE procedurename -- 判断触发器,如果存在则删除IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[triggername]')

ios开发问题,经验证,textview的contentsize.height不能准确判断高度

IOS7环境中,设置UITextView.text并不能立即更新contentSize,再用textView.contentSize.height无法获取当前内容的高度.采用以下方法可以解决这个问题. 1 2 3 4 5 6 7 8 9 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {                  CGRect textFrame=[[self.textView layoutManager]u

SQL Server判断对象是否存在 (if exists (select * from sysobjects )(转)

1 判断数据库是否存在Sql代码 if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名]  if exists (select * from sys.databases where name = '数据库名')  drop database [数据库名]2 判断表是否存在Sql代码 if exists (select * from sysobjects where id = objec

java 实现判断合法IP

判断一个IP是否为合法IP其实就是看其格式是否满足IP格式 这里直接用java实现 public static boolean isIP(String ip){ String Ip = ip.replaceAll(" ",""); if(Ip.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")){ String st = Ip.split("\\."); if(Intege

SQL SERVER 判断是否存在数据库、表、列、视图

SQL SERVER 判断是否存在数据库.表.列.视图 --1. 判断数据库是否存在 IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME = '数据库名') DROP DATABASE [数据库名] --2. 判断表是否存在 IF EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N'[表名]') AND OBJECTPROPERTY(ID, N'ISUSERTABLE') = 1) PRI

SQL Server 判断表中是否存在某字段

原文:SQL Server 判断表中是否存在某字段 功能:判断表中是否存在某字段,若不存在,则新增该字段 语句: IF NOT EXIST (SELECT 1 FROM [DATABASE].SYS.SYSCOLUMNS WHERE ID=OBJECT_ID([DATABASE].[SCHEMA].[TABLENAME]) AND NAME='COLUMN_NAME') ALTER TABLE [TABLENAME] ADD [COLUMN_NAME] [COLUMN_TYPE] p.s. 之前