반응형
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
반응형
'ProgramingTip' 카테고리의 다른 글
'double'을 입력하도록 목록 생성을 강제하는 방법 (0) | 2020.11.13 |
---|---|
두 목록의 결합을 형성하는 가장 간단한 방법 (0) | 2020.11.13 |
Javascript 클래스가 다른 클래스를 상속하는지 확인하는 방법 (obj를 생성하지 않고)? (0) | 2020.11.13 |
Pandas fillna ()에 인수로 다른 전체 열을 전달하는 방법 (0) | 2020.11.13 |
if (expr) 대신 if (!! (expr)) 사용 (0) | 2020.11.13 |