더 간단하게 작성할 수있는 방법이 있습니까?WHERE 절의 조건이 서로 다름
는WHERE
(
(@IdAgent IS NULL AND IdAgent IS NULL)
OR
(@IdAgent IS NOT NULL AND IdAgent = @IdAgent)
)
=
가
NULL
및 비
NULL
값과 일치하지 않습니다 때문에 당신은 하찮게, 하나 개의 테스트를 제거 할 수 있습니다
더 간단하게 작성할 수있는 방법이 있습니까?WHERE 절의 조건이 서로 다름
는WHERE
(
(@IdAgent IS NULL AND IdAgent IS NULL)
OR
(@IdAgent IS NOT NULL AND IdAgent = @IdAgent)
)
=
가
NULL
및 비
NULL
값과 일치하지 않습니다 때문에 당신은 하찮게, 하나 개의 테스트를 제거 할 수 있습니다
:
WHERE
(@IdAgent IS NULL AND IdAgent IS NULL)
OR
IdAgent = @IdAgent
당신은, this answer에서 방법을 사용하여 시도 할 수는에 적용 할 때 상황은 다음과 같이 보일 것입니다 :
WHERE EXISTS (SELECT IdAgent
INTERSECT
SELECT @IdAgent)
아마도 특정 환경에서의 성능을 위해 테스트해야 할 것입니다. 현재 솔루션보다 훨씬 느리게 실행되지 않는지 확인하십시오.
좋은 해결책! –
흥미 롭습니다. 감사합니다. –