2015-09-22 70 views
1

以下是我的改變,這將一本書的名字或書的作者搜索程序代碼:如何使用LIKE和OR一起在一個查詢

ALTER PROCEDURE [dbo].[SearchBook] 

@Search_Var varchar(50) 

AS 
BEGIN 

SELECT * 
FROM Book 
WHERE 
BookName LIKE '%@Search_Var%' OR 
BookAuthor LIKE '%@Search_Var%' 

END 

我希望它顯示的也匹配子書即如果書名是通過打字化學的基礎化學,我也應該能夠得到結果。 但上述代碼無法正常工作。

回答

2

您需要連接搜索短語,如:

ALTER PROCEDURE [dbo].[SearchBook] 
    @Search_Var VARCHAR(50) 
AS 
BEGIN 
    SELECT * 
    FROM Book 
    WHERE 
    BookName LIKE '%' + @Search_Var + '%' 
    OR BookAuthor LIKE '%' + @Search_Var + '%'; 
END 

請記住,使用'%phrase%'搜索不是特區政府,能夠和是否存在任何查詢優化器將不使用索引。

+0

工作好,謝謝你.. !! :-) –

相關問題