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& が true であることを確認したいので、製品行が返されます。

もちろん[Is part of]は存在しませんが、リクエストごとに変化するurlの式に対して、カラムの値を一致させることができるかどうか知りたいです。通常の where ステートメントと同様ですが、逆になります。

このようなことは可能SQL 2008 Express Editionですか?

[アップデート]

like '%' + UrlPart '%' と CharIndex をテストしましたが、MS SQL の実行計画によれば、それらは同一です。SQL は水中で同じことを行うように見えるので、どちらのオプションも適切です。

CharIndex は (変換される可能性がある) よりももう少し生である可能性があると思うので、今はそれを選択します。

皆さん、ありがとうございました。

4

3 に答える 3

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 に答える
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

あなたが使用することができますcharindex:

select * from products
where charindex('http://www.domain.com...',urlPart)<>0 
于 2012-11-03T12:32:05.113 に答える