0

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

也许有人可以帮助我?

提前致谢!

4

1 回答 1

1

这应该适合你:

SELECT *
FROM table
WHERE [Statement1] AND (ISNULL(@Location,'') = '' OR [SBC Live 2$Sales Shipment Line].[Location _ Sector No_] = @Location)

所以最后,要么@Location 为空/空白,要么匹配[SBC Live 2$Sales Shipment Line]。[Location _ Sector No_]

注意:在您的伪代码中,您在 IF 检查中有 OR,但根据您之前编写的内容,我假设您正在那里寻找 AND。

于 2013-04-23T13:22:18.587 回答