您的位置:首页 > 数据库

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

2013-03-14 16:55 591 查看
下面是 不采用拼接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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: