如果名称和价格为空会检索出所有的数据
1 1 select * from TblProduct
2 2 where (@proName='' or chvProName like '%'+@proName+'%')
3 3 and (@minPrice='' or mnyProPrice>=@minPrice)
4 4 and (@maxPrice='' or mnyProPrice<=@maxPrice);
5 5
6 6--下面将参数替换成字符串
7 7 --测试
8 8 select * from TblProduct
9 9 where (''='' or chvProName like '%'+''+'%')
10 10 and (''='' or mnyProPrice>=null)
11 11 and (''='' or mnyProPrice<=null);
--检索出所有的商品
注:' ' is null 返回的false
--如果更改成下面代码:会报【从数据类型 varchar 转换为 numeric 时出错。】的错
select * from TblProduct
where (' '=' ' or chvProName like '%'+''+'%')
and (' ' is null or mnyProPrice>='')
and (' ' is null or mnyProPrice<='');
如果将mnyProPrice>='' 改为mnyProPrice>=null则不会报错,但因为条件不满足,检索不到任何数据