Tôi có một thủ tục lưu trữ được gọi là spGetOrders chấp nhận một vài tham số: @startdate và @enddate. Truy vấn này có một bảng "Đơn đặt hàng". Một trong các cột trong bảng được gọi là "ClosedDate". Cột này sẽ giữ NULL nếu một đơn đặt hàng chưa được đóng hoặc giá trị ngày nếu nó có. Tôi muốn thêm một tham số @Closed sẽ mất một giá trị bit. Trong một thế giới đơn giản, tôi muốn có thể làm ..SQL có điều kiện ở đâu
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)
Rõ ràng, đó không phải đi làm việc .. Tôi cũng đang nhìn vào sql năng động đó là phương sách cuối cùng của tôi, nhưng bắt đầu trông giống như câu trả lời ..
Xin giúp ..
Đây là một cách tuyệt vời để khắc phục vấn đề này. Cảm ơn vì cách tiếp cận này! – Noah