SQL Server의 where 절에서 case 문을 사용하려고 시도하고 오류 메시지가 표시됩니다.where 문에서 where 문을 사용하십시오.
WHERE (PRCA.EDLType = 'E')
AND
(
NOT
(
PRCA.EDLCode IN
(
SELECT EarnCode
FROM dbo.udECforUnionRpt
WHERE (EDL = 'E')
)
)
)
AND (PRCM.udMasterCraft IS NOT NULL)
AND (PRCA.PREndDate BETWEEN @BegPREndDate AND @EndPREndDate)
AND PRCM.udMasterCraft BETWEEN @BegMasterCraft AND @EndMasterCraft
AND PRCA.Class BETWEEN @BegClass AND @EndClass
AND
(
CASE WHEN @ExcludePREAPR='Y' THEN UPPER(PRCA.Class) not like upper('%PREAPR%')
else PRCA.Class
)
END
)
ORDER BY PRCA.PRCo
아마도 PRCA.Class에는 두 가지 조건이 있기 때문에? 아니면 CASE 문을 제대로 쓰지 않아도됩니다.
감사합니다.
무엇을 오류 메시지입니까? – StevieG
메시지 156, 수준 15, 상태 1, 프로 시저 z_UPSPRUnion_test, 줄 82 'like'키워드 근처의 구문이 잘못되었습니다. –