2017-09-25 3 views
1

Ich versuche, mehr über Prozeduren in SQL, zu lernen und so das ich versuche zu tun:SQL-Prozedur mit 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 

Aber es nicht zu funktionieren scheint, auf dem LIKE einen Teil davon. Es wird nicht richtig suchen. Liegt es daran, dass ich es falsch benutze? Oder kann ich nicht% mit @ModelName hinzufügen? und einfache Anführungszeichen? Es ist die Art und Weise MSSQL Gebrauch CONCAT String

+1

Das Erste, was Sie lernen sollten: ** Definieren Sie **, was ** konkret RDBMS ** Sie verwenden. "SQL" ist nicht präzise genug - fast alle RDBMS verwenden SQL als ihre Abfragesprache, aber der prozedurale Code ist ** sehr herstellerspezifisch ** - also fügen Sie bitte ein relevantes Tag hinzu (wie 'db2',' oracle', ' mysql', 'sql-server' usw.) zu deiner Frage –

+0

@MatiasThayer ich habe keine Ahnung was Tensorflow ist? – andrelange91

+0

@marc_s, sorry ich wusste nicht, dass es anders war – andrelange91

Antwort

3

sollten Sie

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

verwenden. Sie können auch CONCAT() verwenden.

Bitte denken Sie daran, LIKE '% xxx%' mit Vorsicht zu verwenden. Es kann wirklich negative Auswirkungen auf die Aufführungen haben.

+0

Das LIKE dient nur zum Testen kleiner Skripte, aber danke, es war genau das, wonach ich gesucht habe. – andrelange91