我有一个名为spGetOrders的存储过程,它接受几个参数:@startdate和@enddate。这将查询“订单”表。表格中的其中一列称为“ClosedDate”。如果订单尚未关闭,则该列将保留NULL,如果已有,则该列将保留日期值。我想添加一个@Closed参数,这将需要一些值。在一个简单的世界里,我能够做到..SQL有条件的地方
select * from orders o
where o.orderdate between @startdate AND @enddate
and (if @Closed = 1 then o.ClosedDate IS NULL else o.ClosedDate IS NOT NULL)
很显然,这是行不通的..我也期待在动态SQL这是我最后的手段,而是开始看起来像答案..
请帮助..
这是解决此问题的好方法。感谢这种方法! – Noah 2009-04-02 16:15:55