sql准确判断某个ip

Posted 我的名称很霸气

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,\',\'))

 

以上是关于sql准确判断某个ip的主要内容,如果未能解决你的问题,请参考以下文章

EntityFramework之监听者判断SQL性能指标

如何知道何时调用了`navController.popBackStack()`?

PHP判断IP是否属于某个网段

动态SQL基础概念复习(Javaweb作业5)

在服务器运行某个软件时报错,从错误信息无法准确问题的所在,请问如何判断错误属于硬件还是软件

sql 如何判断表中的某个字段是不是有某个值