SQL查询中的Where子句

问题描述:

如何在then子句中添加不等于的操作? 对于实例SQL查询中的Where子句

@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 2011-01-31 08:06:22

+0

我想返回所有结果whch不等于500 .. – Kishh 2011-01-31 08:09:07

摆脱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')