MSSQL 쿼리에서
@Type = 0 일 경우 전체 검색
@Type = 1 일 경우 특정필드 is null 검색
@Type = 2 일 경우 특정필드 is not null 검색
을 하려고 하는데, case 구문으로 하려고 합니다.
IF, ELSE IF , ELSE IF 로도 가능은 한데, 쿼리가 너무 길어져서 줄이려고 하는데, 1 = CASE 구문응용으로 index 부분 까지 제대로 타는지 문의 드립니다.
where
1 = CASE When @Type = 0 THEN 1
WHEN @Type = 1 AND 특정필드 is null THEN 1
WHEN @Type = 2 AND 특정필드 is not null THEN 1
ELSE 0
END