我是靠谱客的博主 动听百合,最近开发中收集的这篇文章主要介绍用存储过程实现多条件查询的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 拼接SQL代码,然后通过EXEC (@SQLString)得到结果。可读性不好,而且如果碰到SQL太长可能会溢出。

2. 今天想到个更好的取巧方法:设置参数的缺省值,然后将判断参数与缺省值是否相等 和 与此参数相关的查询条件 用OR连接 组成一个查询条件:

SET   @startDate   =   ' 2007-01-01 00:00:00 '
SET   @officeId   =   NULL
SET   @invoicedStatus   =   0

WHERE
    ejh.EnquiryDeleted 
=   0
    
AND  ( @startDate   IS   NULL   OR  ejh.DateTimeTaken  >=   @startDate  )
    
AND  ( @officeId   IS   NULL   OR  cp.OfficeId  =   @officeId )
    
AND  ( @invoicedStatus   =   0   OR   CASE   WHEN  t.InvoiceNo  IS   NOT   NULL   THEN   1   ELSE   2   END   =   @invoicedStatus )




转载于:https://www.cnblogs.com/viewercq/archive/2008/05/03/1180022.html

最后

以上就是动听百合为你收集整理的用存储过程实现多条件查询的方法的全部内容,希望文章能够帮你解决用存储过程实现多条件查询的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部