2017-09-25 60 views
1

我想了解更多關於SQL程序,所以我試圖做到這一點:SQL過程與LIKE

CREATE PROCEDURE GetCarInformation 
(@ModelName Varchar(256)) 
AS 
Begin 
SELECT Car.LicensePlate, CarBrand.ManufacturerName, CarModel.ModelName, CarSpecs.ModelYear, CarSpecs.Doors, CarSpecs.Seats, CarSpecs.ModelYear 
FROM Car 
INNER JOIN CarModel ON Car.ModelID = CarModel.ID 
INNER JOIN CarBrand ON CarModel.ManufacturerID = CarBrand.ID 
INNER JOIN CarSpecs ON CarModel.CarSpecsID = CarSpecs.ID 
WHERE CarModel.ModelName LIKE '%@ModelName%' 
END 

但它似乎沒有工作,在它的LIKE部分。 它不會正確搜索。 是因爲我錯用了嗎? 或者我無法使用@ModelName添加%?和單引號?

+1

首先要學習:**定義**您正在使用的具體RDBMS **。 「SQL」不夠精確 - 幾乎所有的RDBMS都使用SQL作爲查詢語言,但程序代碼是**高度特定於供應商的** - 因此請添加相關標籤(如'db2','oracle','' mysql','sql-server'等)到你的問題 –

+0

@MatiasThayer我不知道tensorflow是什麼? – andrelange91

+0

@marc_s,抱歉,我不知道它是不同的 – andrelange91

回答

3

您應該使用

LIKE '%'[email protected]+'%' 

這是MSSQL的方式來使用CONCAT字符串。你也可以使用CONCAT()。

請謹慎使用LIKE'%xxx%'。它可能會對錶演造成非常不好的影響。

+0

LIKE僅用於測試小腳本,但是謝謝,這正是我所需要的。 – andrelange91