根据商品名称、价格区间检索商品的SQL语句
如果名称和价格为空会检索出所有的数据
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则不会报错,但因为条件不满足,检索不到任何数据
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。