2011-01-31 10 views
0

then 절의 연산과 같지 않은 연산을 추가하는 방법은 무엇입니까? 예where SQL QUERY의 절

@Sample varchar(50) 


Select * from table 
Where 
ISNULL(table.column1, '') = CASE WHEN @Sample = '1' THEN '500' 
           WHEN @Sample = '0' THEN '600' 
           ELSE (NOT EQUAL TO 500) 
          END 
+2

당신이 500' 같지 않음 '대신에 반환 하시겠습니까? – Sarfraz

+0

나는 500과 동등하지 않은 모든 결과를 돌려 주길 원합니다. – Kishh

답변

5

를 들어 는 CASE 표현 제거하십시오 :

select * from table 
where 
    (@Sample='1' and table.column1 = '500') or 
    (@Sample='0' and table.column1 = '600') or 
    (@Sample not in ('0','1') and COALESCE(table.column1,'') <> '500') 
+0

대단히 감사합니다. 그 작업은 완벽하게 ... – Kishh