不采用拼接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
第一种写法是 感觉代码有些冗余
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
相关文章推荐
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- sql不用拼接语句实现动态查询条件
- 使用反射让linq实现动态查询, 类似拼接sql语句的where 条件
- PHP中实现数组中key与value拼接成SQL语句中的WHERE查询字符串
- sql拼接实现自由多条件查询及内容分页总结
- sql 自定义函数 ,where后拼接条件跳转语句,实现可变参数查询
- 使用反射让linq实现动态查询, 类似拼接sql语句的where 条件
- 多条件查询的sql语句字符串拼接
- 利用反射拼接SQL查询条件字符串
- sql 多条件查询 拼接字符串 改成 普通查询格式