Sql-Server
SQL server Like 模式匹配與 CONCAT() 總是失敗
我在 SQL Server 的簡單查詢腳本中遇到問題。請幫忙
腳本是
CREATE PROCEDURE [dbo].[Search_By_Author_And_Name] ( @Author_name AS [varchar](50) ) AS BEGIN Select B.*, R.R_number From Book AS B , Rack As R where B.Author LIKE CONCAT('%', @Author_name, '%') AND B.B_Id=R.B_Id END GO
問題是這不返回任何列。即使我將有效參數(@Author_name)傳遞給過程,它也不會返回任何內容。LIKE的使用中的where子句肯定有問題。
表中的樣本數據為
第一個表是 Book 表,另一個表是 Rack 表
我通過呼叫程序
EXEC Search_By_Author_And_Name 'Physics'
請幫忙
提前致謝
您只匹配作者,而不是 B_Name。將程式碼更改為:
CREATE PROCEDURE [dbo].[Search_By_Author_And_Name] ( @Author_name AS [varchar](50) ) AS BEGIN Select B.*, R.R_number From Book AS B , Rack As R where (B.Author LIKE CONCAT('%', @Author_name, '%') OR B.B_Name LIKE CONCAT('%', @Author_name, '%')) AND B.B_Id=R.B_Id END GO