如果名称和价格为空会检索出所有的数据
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则不会报错,但因为条件不满足,检索不到任何数据
时间: 2024-10-10 14:18:26