mssql sqlserver存储过程多条件查询中”当条件为空时的”处理方法分享


摘要:
下文讲述sqlserver中存储过程中,关于多条件查询脚本的写法,如下所示:
实验环境:sql server 2008 R2

sqlserver中检索数据时,无法避免多条件,我们又不能将所有的查询条件都设置索引,
但是我们又要避免全表扫描和保证多条件查询时和”拼接sql运行速度一致”
下文通过举例的方式讲述一种简洁高效的多条件处理方法,如下所示:

 create proc pr_test
@a varchar(30),
@b varchar(40)
as 
begin
   print N'多条件测试!'

   select infoA,infoB,infoC 
    from [maomao365.com]
	where 	 1=1
	 and  (isnull(@a) ='' or infoA like '%'+@a+'%')
	 and  (isnull(@b) ='' or infoB like '%'+@b+'%')
end
/*
 其中  maomao365.com  为数据表名称
   infoA、infoB为列名
*/