正確に同じ文字のみを検索する検索ボックスを持つウェブサイトで検索を改善する必要があります。データベース内の単語を検索する
select O_ObjectID,
rtrim(O_Name) as O_Name
from A_Object
where O_Name like @NamePrefix + '%'
order by O_Name
正確に同じ文字のみを検索する検索ボックスを持つウェブサイトで検索を改善する必要があります。データベース内の単語を検索する
select O_ObjectID,
rtrim(O_Name) as O_Name
from A_Object
where O_Name like @NamePrefix + '%'
order by O_Name
厳密に言えば、あなたが本当に探しているのは「ハイパーリンク」で始まる単語です。つまり、スペース文字があるか、テキストフィールドの先頭になります。あなたのクエリを意味するだろう'% ' + @NamePrefix + '%'
あなたの他のオプションに追加された空白文字は、フルテキスト検索を使用することです
select O_ObjectID,
rtrim(O_Name) as O_Name
from A_Object
where O_Name like @NamePrefix + '%' OR O_Name like '% ' + @NamePrefix + '%'
order by O_Name
ノートは、次のようになります。
select O_ObjectID,
rtrim(O_Name) as O_Name
from A_Object
where CONTAINS(O_Name, '"'+ @NamePrefix + '*"')
order by O_Name
とパフォーマンスを、この意志に単語レベルで索引付けされるため、大幅に高速になります。
使用あなたが%を置く必要はこの
select O_ObjectID,
rtrim(O_Name) as O_Name
from A_Object
where O_Name like '%'+ @NamePrefix + '%'
order by O_Name
- 私は、ハイパーリンクを入力すると、それは_hyperlinkなどはここに私のSQLクエリでは、そのようなcontenthyperlinkなどのハイパーリンクではなく、何から始めて、すべてを返します。検索テキストの両側に<anything>hyperlink<anything>
と一致するようにします.SQLのような演算子がどのように動作するかを確認してくださいhttp://www.w3schools.com/sql/sql_like.asp。しかし、Simos Mikelatosがフルテキスト検索を使用すると上記のように嫌われたので、よりスリムな言葉でも一致を見つけることができます。
なぜフルテキスト検索を使用しないのですか? http://msdn.microsoft.com/en-us/library/ms142547.aspx – viper