我有一堆AND语句的查询。现在,当设置变量时,我想使用特定的AND语句。但是当它为空或NULL时我不想要那个陈述。我已经找到了IF和CASE的一些东西,但我无法完成它:(
我想要这样的东西
SELECT *
FROM table
WHERE [Statement1]
IF @Location IS NOT NULL OR <> ''
BEGIN
AND [SBC Live 2$Sales Shipment Line].[Location _ Sector No_] = @Location
END
也许有人可以帮助我?
提前Thnanks!
答案 0 :(得分:1)
这应该适合你:
SELECT *
FROM table
WHERE [Statement1] AND (ISNULL(@Location,'') = '' OR [SBC Live 2$Sales Shipment Line].[Location _ Sector No_] = @Location)
所以最后@Location是空/空白,或者它与[SBC Live 2 $销售发货行]相匹配。[Location _ Sector No _]
注意:在您的伪代码中,您在IF检查中有OR,但根据您之前写的内容,我假设您正在寻找AND。