0

我有个问题:

我正在尝试将值(url)与 dbtable 中的 UrlPart 列中的值进行匹配。

假设一行中的一列 UrlPart 具有值“id=12345”。

现在我有一个查询:

select * from products
where UrlPart [is part of] 
'http://www.domain.com/category/?id=12345&referrer=www.google.com&etcetera' 

我希望看到匹配 [id=12345 [is part of] 'http://www.domain.com/category/?id=12345& 为真,因此它将返回产品行。

当然 [Is part of] 不存在,但我想知道是否可以将列中的值与每个请求都会改变的 url 表达式相匹配。就像一个正常的 where 语句,但随后被撤销。

这样的事情可能SQL 2008 Express Edition吗?

[更新]

我已经测试了 like '%' + UrlPart '%' 和 CharIndex ,根据 MS SQL 的执行计划,它们是相同的。似乎 SQL 在水下做同样的事情,所以这两个选项都很好。

我认为 CharIndex 可能比 like 更原始(可能会被转换),所以我现在就选择那个。

谢谢你们。

4

3 回答 3

1

you can use charindex :

select * from products
where charindex('http://www.domain.com...',urlPart)<>0 
于 2012-11-03T12:32:05.113 回答
1
select * 
from products
where 'http://www.domain.com/category/?id=12345&referrer=www.google.com&etcetera' like '%' + UrlPart + '%' 
于 2012-11-03T12:30:26.367 回答
1
select * 
from products 
where 'http://www.domain.com/category/?id=12345&referrer=www.google.com&etcetera'  
      like '%'+UrlPart+'%'
于 2012-11-03T12:29:02.413 回答