当前位置: 代码迷 >> SQL >> sql server ip地址between 怎么查询
  详细解决方案

sql server ip地址between 怎么查询

热度:50   发布时间:2016-05-05 09:55:37.0
sql server ip地址between 如何查询

解决问题的场景

?

用户表里有很多IP地址,要求将表里所有IP地址分类到相应的IP端内,并求数量

?

利用T-SQL 进行定义相应的函数

create function dbo.fn_IP(@ip varchar(15))   returns bigint   begin       return parsename(@ip,4)*cast(16777216 as bigint)+parsename(@ip,3)*65536+parsename(@ip,2)*256+parsename(@ip,1)   end  declare  @tb table (id int,ip varchar(15))insert @tb select 1,'10.210.128.207'UNION ALL  select 2,'10.210.128.206'UNION ALL  select 3,'10.210.128.205'UNION ALL  select 4,'10.210.128.204'UNION ALL  select 5,'10.210.128.203'UNION ALL  select 6,'10.210.128.202'UNION ALL  select 7,'10.210.128.201'select id,ip,dbo.fn_IP(ip) from @tbwhere dbo.fn_IP(ip) between  dbo.fn_IP('10.210.128.203')      and dbo.fn_IP('10.210.128.205')

?

  相关解决方案