SQL Conditional Where

后端 未结 4 1255
借酒劲吻你
借酒劲吻你 2020-12-20 17:41

I have a Stored Procedure called spGetOrders which accepts a few parameters: @startdate and @enddate. This queries an \"Orders\" table. One of the columns in the table is

4条回答
  •  感情败类
    2020-12-20 18:31

    Or this:

    select * from orders o
    where o.orderdate between @startdate AND @enddate
    and (  (@Closed = 1 AND o.ClosedDate IS NULL)
         OR (ISNULL(@Closed, 0) <> 1 AND o.ClosedDate IS NOT NULL)
         )
    

    It looks like you want all the orders between two dates that have inconsistent Close information. The other suggestions are probably as good (or better) but I'm pretty sure that this works and is readable to me (most of the other suggestions appeared as I was typing).

    Good luck!

提交回复
热议问题