首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 参数组合条件查询,条件为空不考虑,该怎么解决

2013-01-26 
sql 参数组合条件查询,条件为空不考虑sql 参数组合条件查询,条件为空不考虑如:select a,b,c from t0 inner

sql 参数组合条件查询,条件为空不考虑
sql 参数组合条件查询,条件为空不考虑

如:

select a,b,c from t0 
inner join (
 select 
t1.Model
from  t1 
where  条件
) t80 on t80.Model=t0.Model

where 条件 

现在是想传入参数, @a ,@b ,@c  当他们不为空时才作为条件。
比如:如果@a='' 那么 就不用把a=@a考虑进来。这时 where b=@b,c=@c;


[解决办法]
改成过程拼接最好。。

否则

a=case when isnull(@a,'')='' then a else @a end 也可以但

会用不到索引。
[解决办法]

引用:
或者这样
我想传一个参数@sql 

select a, b,c frm tb where @sql

当然,如果直接执行这句话好像是有语法错误的。
那应该怎么处理好

用动态SQL的方法,

declare @tsql varchar(max)
select @tsql='select a, b,c from tb where '+@sql  -->@sql是传入参数
exec(@tsql)

热点排行