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

說用戶寫道:「池」,這個存儲過程是否會返回所有在「titulo」中有「池」的東西?這將工作搜索我的數據庫中的東西?

謝謝。 :)

+0

這可能取決於您使用的SQL Server版本。你可以指定版本 - 2000,2005,2008,其他? – 2009-08-28 15:12:06

+1

根據你的@searchString變量來自哪裏,你可能會讓自己開放SQL注入。只是想一想;存儲過程並不是針對SQL注入的魔法。 – rmeador 2009-08-28 15:18:57

+0

今天早上我不是已經糾正了你錯誤的'mssql'標籤嗎? – 2009-08-28 15:28:59

回答

3

是的。它會返回「假脫機」,「池畔」,「池」等。

+0

太棒了!我只需要知道。謝謝。 – 2009-08-28 15:11:14

2

是的,這就是類似運算符的正確用法。

您也可以用這樣的邏輯開始做:

like @searchterm + '%' 

和結束像這樣:

like '%' + @searchterm 
+0

你的首發和結局都是向後的。 – 2009-08-28 15:37:35

+0

@Joel LOL,謝謝!編輯 – Joseph 2009-08-28 16:01:58

0

這不是一個非常快的搜索雖然。

+0

這是一個緩慢的搜索?一般來說,我是SQL新手。 ;) – 2009-08-28 15:16:36

+1

這不是可靠的(這意味着它不能使用索引)。 – 2009-08-28 15:30:29

+0

它會查看錶格中的每一行,這意味着隨着數據的增加,它會變得越來越慢 – 2009-08-28 17:32:25

相關問題