mssql sqlserver where多条件判断 case when 举例应用之查询条件


摘要:
下文讲述使用case when 过滤不同的查询条件的方法分享,
(一个典型的where case when else end 的查询条件判断方法分享)
如下所示:
实验环境:sql server 2008 R2


例:
下文举例展示 where 条件中使用case when 区别不同的条件

   create table [maomao365.com]
(
 keyId int identity(1,1),
 sort varchar(8),
 value nvarchar(30) 
)

insert into [maomao365.com]
(sort,value)values
('测试','博客教程'),
('测试','sql教程'),
('正式','分享文章'),
('正式','sql技巧站') 
 
--当查询条件不等于空时,则运行检索
declare @whereInfo nvarchar(30)
set     @whereInfo =''

select * from [maomao365.com]
where 
  (
    case
     when isnull(@whereInfo,'') ='' 
           then 1 
     when  value like  '%'+isnull(@whereInfo,'')+'%' 
           then 1
     else 0 
    end 
  )=1
 


go
truncate table [maomao365.com]
drop     table [maomao365.com]