问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用SQL查询IP地址所属IP段

发布网友 发布时间:2022-04-22 21:51

我来回答

3个回答

懂视网 时间:2022-04-10 02:42

* 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

标签:ima   begin   end   charindex   logs   create   like   returns   ret   

热心网友 时间:2022-04-09 23:50

在一些需求中,可能我们需要知道连接到SqlServer的前端程序的一些系统信息,比如前端连接的计算机名称,IP地址,什么时候开始请求连接,什么时候结束连接等信息。如果你对SqlServer的系统函数或视图不太了解,这个功能看起来好像比较复杂,而实际上,SqlServer的动态管理视图已经给我们提供了这些信息,下面我们来看两个动态管理视图。1、Sys.dm_exec_Sessions这个视图中提供了所有连接sqlserver的客户端的一些信息,下面是Sys.dm_exec_Sessions返回的列:列名数据类型说明Session_idsmallint标识与每个活动主连接关联的会话。login_timedatetime建立会话的时间。host_namenvarchar(128)与会话关联的主机。program_namenvarchar(128)与会话关联的程序。host_process_idint与会话关联的进程ID。client_versionint客户端连接到服务器所用的接口版本。client_interface_namenvarchar(32)客户端连接到服务器所用的接口名称。security_idvarbinary(85)与登录名关联的MicrosoftWindows安全ID。login_namenvarchar(128)与会话关联的SQL登录名。nt_domainnvarchar(128)从中建立会话连接的域。nt_user_namenvarchar(128)与会话关联的用户名。statusnvarchar(30)会话的状态。可能的值:1,运行-当前正在运行一个或多个请求2,睡眠-当前没有运行任何请求3,休眠-会话处于登录前状态context_infovarbinary(128)会话的CONTEXT_INFO值。cpu_timeint该会话所占用的CPU时间(毫秒)。memory_usageint该会话所占用的8KB内存页数。total_scheled_timeint计划内含请求的会话的执行所耗用的总计时间(毫秒)。total_elapsed_timeint自会话建立以来已耗用的时间(毫秒)。endpoint_idint与会话关联的端点的ID。last_request_start_timedatetime最近一次会话请求的开始时间。这包括当前正在执行的请求。last_request_end_timedatetime最近一次会话请求的完成时间。readsbigint在该会话期间该会话中的请求所执行的读取次数。Writesbigint在该会话期间该会话中的请求所执行的写入次数。logical_readsbigint已对该会话执行的逻辑读取数。is_user_processbit如果会话是系统会话,则为0。否则,为1。text_sizeint会话的TEXTSIZE设置。languagenvarchar(128)会话的LANGUAGE设置。date_formatnvarchar(3)会话的DATEFORMAT设置。date_firstsmallint会话的DATEFIRST设置。quoted_identifierbit会话的QUOTED_IDENTIFIER设置。arithabortbit会话的ARITHABORT设置。ansi_null_dflt_onbit会话的ANSI_NULL_DFLT_ON设置。ansi_defaultsbit会话的ANSI_DEFAULTS设置。ansi_warningsbit会话的ANSI_WARNINGS设置。ansi_paddingbit会话的ANSI_PADDING设置。ansi_nullsbit会话的ANSI_NULLS设置。concat_null_yields_nullbit会话的CONCAT_NULL_YIELDS_NULL设置。transaction_isolation_levelsmallint会话的事务隔离级别。0=未指定1=未提交读取2=已提交读取3=可重复4=可序列化5=快照lock_timeoutint会话的LOCK_TIMEOUT设置。该值以毫秒计。deadlock_priorityint会话的DEADLOCK_PRIORITY设置。row_countbigint到目前为止会话返回的行数。prev_errorint会话返回的最近一个错误的ID。比如说,我们要看那些主机有连接到了sqlserver服务器,可以使用下面的sql语句:selectdistincthost_namefromsys.dm_exec_Sessions要看那些用户已连接到sqlserver服务器:selectdistinctlogin_namefromsys.dm_exec_Sessions当然,利用上面的列,我们可以获得想要的客户端信息2、Sys.dm_exec_connections这个视图返回了连接sqlserver服务器上面的每个连接的详细信息,下面是Sys.dm_exec_connections返回的列:列名数据类型说明Session_idint标识与此连接关联的会话。most_recent_Session_idint显示与此连接关联的最近请求的会话ID。connect_timedatetime连接建立时的时间戳。net_transportnvarchar(40)说明该连接使用的物理传输协议。protocol_typenvarchar(40)指定负载的协议类型。此参数当前可区分TDS(TSQL)和SOAP。protocol_versionint与此连接关联的数据访问协议的版本。endpoint_idint与此连接关联的端点的唯一标识符。此endpoint_id可用于查询sys.endpoints视图。encrypt_optionnvarchar(40)说明是否为此连接启用了加密的布尔值。auth_schemenvarchar(40)指定与此连接一起使用的SQLServer/NT身份验证。node_affinitysmallint显示与此连接关联的SOS节点。num_readsint此连接中已发生的读包次数。num_writesint此连接中已发生的写数据包次数。last_readdatetime此连接中上一次发生读操作的时间戳。last_writedatetime此连接中上一次发生写操作的时间戳。net_packet_sizeint用于信息和数据的网络包的大小。client_net_addressvarchar(40)与此服务器连接的客户端的主机地址。client_tcp_portint与该连接关联的客户机上的端口号。local_net_addressvarchar(40)显示此连接的目标服务器的IP地址。只对使用TCP传输提供程序的连接可用。local_tcp_portint如果此连接使用TCP传输,则显示该连接的目标服务器的TCP端口。connection_iniqueidentifier对每个连接进行唯一标识。parent_connection_iniqueidentifier标识MARS会话正在使用的主要连接。most_recent_sql_handlevarbinary(64)此连接上执行的上一个请求的SQL句柄。most_recent_sql_handle列始终与most_recent_Session_id列同步。比如,我要查看当前连接的客户端IP与sqlserver所在服务器的IP,可以用下面的sql查询:selectclient_net_address'客户端IP',local_net_address'服务器的IP'fromsys.dm_exec_connectionswhereSession_id=@@spid@@spid的作用是返回当前进程的会话ID。

热心网友 时间:2022-04-10 01:08

可通过LEFT函数实现。如下实例:
如某数据库中表Table1的IP列,储存了IP地址的信息。因IP地址前两段(共7位)固定不变,可直接用select left(ip,7) from table1 where 1 = 1 ...
笔者亦通过定义临时变量取值的方法,
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 数据库请教:如何在本地连接服务器sqlserver 2008R2? 如何配置sqlserver 设置远程访问 如何配置sql server允许远程连接 sqlserver2005怎么用本地ip地址登录 sqlserver客户端连接端口不是1433的服务器,该怎么连接 SQL 2008 如何给局域网内的用户连接 如何查看远程链接sqlserver的ip地址 如何使用SQL语句查到当前SQL SERVER 2000服务器的IP地址 sql server 2008怎样连接本地服务器 在本机怎样连接服务器上的sql server数据库 SQL Server2008如何连接远程的服务器 sqlserver安装了多个实例,如何从外网通过IP连接 sqlserver如何从外网通过IP连接 如何才能到挑选出一颗好吃的柚子? 柚子怎么挑选才好吃而不苦?? 好吃的柚子要怎么挑选? 查找一下生日祝福的短信和图片手机 怎样才可以挑到好吃的柚子? 送给男性朋友的生日祝福语 感动老婆的生日祝福语 围巾流苏怎么弄 围巾的流苏怎么做? 围巾流苏怎样制作简单省力?求指教! 男士的围巾到底加不加流苏啊??? 男的能戴流苏的围巾吗 围巾的长度包括流苏吗? 新买的围巾流苏有很大静电,怎么把静电给去掉啊。。。 那种长条式的围巾然后两边尾巴处有一点流苏的围巾应该怎样围才好看啊? 怎么围千鸟格流苏围巾? 女生基本款围巾有哪些呢? 流苏围巾的流苏可以自己剪掉吗 新浪微博如何发四宫格图片?显示后不是四张拼图,是四张独立图片。_百 ... 自己拍了组写真怎么发到网上 微博怎么发这种长图片 就是把多张图片拼接在一起? 怎么在新浪微博中发多图? 新浪微博怎么能一次发多张图片? 新浪微博里面的那种四张连图是怎么搞的 怎样才能发多张图? 怎么把一张图片分成独立九个 发微博 手机新浪微博怎么传照片? 小米2a手机充电充不进去