Я пытался написать инструкцию, в которой используется предложение WHERE LIKE '% text%', но я не получаю результатов, когда пытаюсь использовать параметр для текста. Например, это работает:
SELECT Employee WHERE LastName LIKE '%ning%'
Это вернет пользователей Flenning, Manning, Ningle и т. Д. Но это утверждение не будет:
DECLARE @LastName varchar(max)
SET @LastName = 'ning'
SELECT Employee WHERE LastName LIKE '%@LastName%'
Результатов не найдено. Какие-либо предложения? Заранее спасибо.
Правильный ответ заключается в том, что, поскольку
'%'
-sign является частью вашего поискового выражения, он должен быть частью вашего VALUE, поэтому, где бы вы ни@LastName
установили (будь то язык программирования или TSQL), вы должны установить его на'%' + [userinput] + '%'
или в вашем примере:
DECLARE @LastName varchar(max) SET @LastName = 'ning' SELECT Employee WHERE LastName LIKE '%' + @LastName + '%'
источник
вы можете попробовать это, использовать CONCAT
источник