ProgramingTip

T-SQL 및 WHERE LIKE % 매개 변수 % 절

bestdevel 2020. 11. 13. 23:52
반응형

T-SQL 및 WHERE LIKE % 매개 변수 % 절


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%'

검색 결과가 없습니다. 어떤 제안? 미리 감사드립니다.


그것은해야한다 :

...
WHERE LastName LIKE '%' + @LastName + '%';

대신에 :

...
WHERE LastName LIKE '%@LastName%'


정답은 '%'-sign이 검색된 일부의 일부 이기 때문에 VALUE의 일부 깜찍한 것입니다. 따라서 설정하는 곳 @LastName(프로그래밍 언어 또는 TSQL)을 설정합니다.'%' + [userinput] + '%'

또는 귀하의 예에서 :

DECLARE @LastName varchar(max)
SET @LastName = 'ning'
SELECT Employee WHERE LastName LIKE '%' + @LastName + '%'

당신은 시도 할 수 있습니다, 사용 CONCAT

WHERE LastName LIKE Concat('%',@LastName,'%')

참고 URL : https://stackoverflow.com/questions/14237755/t-sql-and-the-where-like-parameter-clause

반응형