SELECT 문을 필터링하려고합니다.변수 값을 기반으로하는 WHERE 문
WHERE (DTH.TaskId IS NULL OR PDT.PK_Product LIKE @productId)
@productId 내가하지 = % 원하는 경우 다음 WHERE 절 :
WHERE (PDT.PK_Product = @productId)
내가 원하는 동작은 매개 변수 @productId = % 다음 내가 원하는 경우 WHERE 절은 다음과 같은 작업을 수행 할 것입니다
문제를 해결하는 데 문제가 있습니다.
나는 case 문을 시도했지만 이해할 수 없었다. 나는 또한 시도했다 :
WHERE IF @productId = '%' (
DTH.TaskId IS NULL
OR PDT.PK_Product LIKE @productId
) ELSE (
PDT.PK_Product = @productId
)
이것은 구문 오류의 원인입니다. 원하는 결과를 얻으려면 어떻게해야합니까? opertator LIKE
왼쪽에 문자 데이터 유형을 필요로한다. 'PDT.PK_Product'는 문자 데이터 유형이 아닙니다. 'PDT.PK_Product LIKE @ productId'로 무엇을 성취하려고합니까? 즉, 어떤 결과를 기대합니까? –
당신이하려는 일을 단어로 알려주십시오 ... –