2011-01-31 14 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

私はすべての結果を返したいと思うwhchは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