2009-08-28 6 views
-1
Create Proc CargarAnuncioPorBusqueda 
    @searchString varchar(max) 
AS 
select * from Anuncio where titulo Like '%'+ @searchString + '%' 

「プール」は、このストアドプロシージャが「チュチュロ」に「プール」を持つものすべてを返しますか?これは私のDBの中で何かを検索するために使えますか?

ありがとうございます。 :)

+0

これは、使用しているSQL Serverのバージョンによって異なる場合があります。あなたは2000年、2005年、2008年、その他のバージョンを指定できますか? –

+1

@searchString変数の出所によっては、自分自身をSQLインジェクションに開放している可能性があります。思うだけのこと。格納されたprocsはSQLインジェクションに対して魔法の弾丸ではありません。 – rmeador

+0

悪い 'mssql'タグは今朝一度修正されていませんか? –

答えて

3

はい。 "スプール"、 "プールサイド"、 "プール"などが返されます。

+0

素晴らしい!私が知る必要があったすべて。ありがとうございました。 –

2

はいこれはlikeオペレータの正しい使い方です。

like @searchterm + '%' 

をし、このようなで終了します。:

また、このような論理で開始を行うことができます

like '%' + @searchterm 
+0

あなたのstartswithとendswithは後方にあります。 –

+0

@ JOEL LOL、ありがとう!編集された – Joseph

0

それはしかし、非常に高速な検索ではありません。

+0

これはどのように遅い検索ですか?私はSQLの一般的な新機能です。 ;) –

+1

それはsargableではありません(つまり、インデックスを使用できません)。 –

+0

これはテーブル内のすべての行を調べます。つまり、データが増加するにつれて、より遅く、遅くなります –

関連する問題