AND语句中的CASE或IF

时间:2013-04-23 13:18:22

标签: sql if-statement parameters case

我有一堆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!

1 个答案:

答案 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。