我无法在我的 where 子句中获取我的 case 语句来使用参数
I can't get my case statement in my where clause to work with a parameter
我正在制作一份报告,让我可以查看有关我是否已支付运费的信息。
SELECT...
FROM...
WHERE CASE
WHEN @Billed = 1 THEN Freight > 0
WHEN @Billed = 0 THEN Freight = 0
ELSE Freight >= 0 END
CASE
表达式(即 THEN
或 ELSE
之后的谓词)必须是文字值,不能是另一个逻辑表达式。您可以将您的 CASE
逻辑改写如下:
SELECT ...
FROM ...
WHERE
(@Billed = 1 AND Freight > 0) OR
(@Billed = 0 AND Freight = 0) OR
Freight >= 0;
我正在制作一份报告,让我可以查看有关我是否已支付运费的信息。
SELECT...
FROM...
WHERE CASE
WHEN @Billed = 1 THEN Freight > 0
WHEN @Billed = 0 THEN Freight = 0
ELSE Freight >= 0 END
CASE
表达式(即 THEN
或 ELSE
之后的谓词)必须是文字值,不能是另一个逻辑表达式。您可以将您的 CASE
逻辑改写如下:
SELECT ...
FROM ...
WHERE
(@Billed = 1 AND Freight > 0) OR
(@Billed = 0 AND Freight = 0) OR
Freight >= 0;