Ich habe versucht, eine Anweisung zu schreiben, die die WHERE LIKE-Klausel '% text%' verwendet, aber ich erhalte keine Ergebnisse, wenn ich versuche, einen Parameter für den Text zu verwenden. Zum Beispiel funktioniert dies:
SELECT Employee WHERE LastName LIKE '%ning%'
Dies würde Benutzer Flenning, Manning, Ningle usw. zurückgeben. Diese Aussage würde jedoch nicht:
DECLARE @LastName varchar(max)
SET @LastName = 'ning'
SELECT Employee WHERE LastName LIKE '%@LastName%'
Keine Ergebnisse gefunden. Irgendwelche Vorschläge? Danke im Voraus.
sql
sql-server-2008
tsql
dp3
quelle
quelle
Die richtige Antwort lautet: Da das
'%'
-Zeichen Teil Ihres Suchausdrucks ist, sollte es Teil Ihres WERTES sein. Wo immer Sie@LastName
es einstellen (sei es aus einer Programmiersprache oder aus TSQL), sollten Sie es einstellen'%' + [userinput] + '%'
oder in Ihrem Beispiel:
DECLARE @LastName varchar(max) SET @LastName = 'ning' SELECT Employee WHERE LastName LIKE '%' + @LastName + '%'
quelle
Sie können dieses verwendete CONCAT ausprobieren
quelle