直接上代码
例如表test中有一个字段如下
F_URL
www.baidu.com
http://192.168.10.5/default.aspx
....
现在给出一个起始ip地址如:10.4.4.0 和 一个结束地址如:192.168.10.254。
现在要查找test表中F_URL字段中包含了给定地址范围内的所有行sql
例如表test中有一个字段如下
F_URL
www.baidu.com
http://192.168.10.5/default.aspx
....
现在给出一个起始ip地址如:10.4.4.0 和 一个结束地址如:192.168.10.254。
现在要查找test表中F_URL字段中包含了给定地址范围内的所有行sql
解决方案 »
- [请教一个字段拆分问题]
- 如何检测sql server的性能, 是否有自带的功能?
- 高手帮我看一下,sql建表创立主键时,有没有什么错误?【谢谢】
- create schema 语句的作用是什么?请高手帮忙
- 达人帮忙看看这条SQL语句怎么写?
- sql相关问题
- MSsql2005用户权限问题,在线等,救命
- 查询数据库的可执行程序第一次运行速度慢,第二次就快很多
- 写存储过程(判断时间,然后将符合数据的记录移动到另外一表中)
- 在WIN98下安装MS SQL2000个人版,在配置服务器时出现缺少sqlunirl.dll为何,请高人指教!
- union 关联查询排序问题
- 同样的查询,快的时候瞬间,慢的时候几十秒
例如
https://192.168.1.0/default.aspx这个URL中的IP地址就在10.4.4.0-192.168.10.254之间。
怎么写这个SQL语句来查询出F_URL中所有这样的行。
下面把代码分享一下DECLARE @IPStart nvarchar(50);
DECLARE @IPEnd nvarchar(50);
SET @IPStart = '10.4.4.0';
SET @IPEnd = '192.168.10.254';-- 构造查询字符串
DECLARE @IPSTR nvarchar(500);
SET @IPSTR = '%[' + parsename(@IPStart, 4) + '-' + parsename(@IPEnd, 4) + '].';
SET @IPSTR += '[' + parsename(@IPStart, 3) + '-' + parsename(@IPEnd, 3) + '].';
SET @IPSTR += '[' + parsename(@IPStart, 2) + '-' + parsename(@IPEnd, 2) + '].';
SET @IPSTR += '[' + parsename(@IPStart, 1) + '-' + parsename(@IPEnd, 1) + ']%';SELECT F_URL FROM test WHERE F_URL LIKE @IPSTR;