我有一些代码,其中WHERE子句中使用的变量可以为空.因此,我必须使用IF ELSE查询数据以检查NULL.无论如何在一个查询中写入?
DECLARE @OrderID UNIQUEIDENTIFIER IF @OrderID IS NULL BEGIN SELECT * FROM Customers WHERE OrderID IS NULL END ELSE BEGIN SELECT * FROM Customers WHERE OrderID = @OrderID END
解决方法
SELECT * FROM Customers WHERE EXISTS (SELECT OrderID INTERSECT SELECT @OrderID)
会有效地做到这一点.