복붙노트

[SQL] T-SQL 등 %의 매개 변수 % 절

SQL

T-SQL 등 %의 매개 변수 % 절

나는 LIKE '% 텍스트 %'절을 사용하는 명령문을 작성하려고했지만, 나는 텍스트에 대한 매개 변수를 사용하려고 할 때 결과가 수신되지 않는 경우. 예를 들어,이 작품 :

SELECT Employee WHERE LastName LIKE '%ning%'

이것은 사용자 등 Flenning, 매닝, Ningle을 반환하지만이 문장은 않을 것 :

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

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

해결법

  1. ==============================

    1.그것은해야한다:

    그것은해야한다:

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

    대신에:

    ...
    WHERE LastName LIKE '%@LastName%'
    
  2. ==============================

    2.기호 검색 식의 일부, 그것은 그래서 당신은 SET @LastName은 (프로그래밍 언어 나 TSQL에서 일) whereever 당신이 그것을 설정해야합니다, 당신의 VALUE의 일부가되어야합니다 - 정답은 '%'가 있기 때문에 즉,이다 행 '%'+ [UserInput 사용자] + '%'

    기호 검색 식의 일부, 그것은 그래서 당신은 SET @LastName은 (프로그래밍 언어 나 TSQL에서 일) whereever 당신이 그것을 설정해야합니다, 당신의 VALUE의 일부가되어야합니다 - 정답은 '%'가 있기 때문에 즉,이다 행 '%'+ [UserInput 사용자] + '%'

    또는, 당신의 예 :

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

    3.이 하나, 사용 CONCAT을 시도 할 수 있습니다

    이 하나, 사용 CONCAT을 시도 할 수 있습니다

    WHERE LastName LIKE Concat('%',@LastName,'%')
    
  4. from https://stackoverflow.com/questions/14237755/t-sql-and-the-where-like-parameter-clause by cc-by-sa and MIT license