SQLServer 存储过程中不拼接SQL字符串实现多条件查询-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

SQLServer 存储过程中不拼接SQL字符串实现多条件查询

简介:

下面是 不采用拼接sql字符串实现多条件查询的解决方案

第一种写法是 感觉代码有些冗余 
if (@adddate is not null) and (@name <> '')  
      select * from table where adddate = @adddate and name = @name 
else if (@adddate is not null) and (@name ='')  
      select * from table where adddate = @adddate 
else if(@adddate is  null) and (@name <> '')  
      select * from table where and name = @name 
else if(@adddate is  null) and (@name = '') 
select * from table

第二种写法是

select * from table where (adddate = @adddate or @adddate is null) and (name = @name or @name = '') 
第三种写法是

select * from table where 
adddate = case @adddate is null then adddate else @adddate end, 
name = case @name when '' then name else @name end























本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/495696 ,如需转载请自行联系原作者









版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章