如何在 WHEN in CASE 中使用多个条件



我想在 WHEN CASE 中使用多个条件。

我收到以下错误

Msg 4104,级别 16,状态 1,第 18 行

无法绑定多部分标识符"TableName.AAADPAddNoOfDates">

SELECT CASE
   WHEN ((LTRIM(RTRIM(TableName.AAADPPapCode)) = (LTRIM(RTRIM(@PapCode))))
      AND (DATEDIFF(DAY, (CONVERT(date, @PubDate, 111)), (CONVERT(date, CURRENT_TIMESTAMP, 111)))) > (TableName.AAADPAddNoOfDates)
      AND (LTRIM(RTRIM(TableName.AAADPSysOperator))) != (LTRIM(RTRIM(@UserName)))) THEN 1
   ELSE 0
END AS ErrorTag;

CASE语句看起来不错,但缺少指定要从中选择的表的 FROM 子句。

您没有指定需要从中检索输出的表。

SELECT CASE
WHEN ((LTRIM(RTRIM(TableName.AAADPPapCode)) = (LTRIM(RTRIM(@PapCode))))
  AND (DATEDIFF(DAY, (CONVERT(date, @PubDate, 111)), (CONVERT(date, CURRENT_TIMESTAMP, 
111)))) > (TableName.AAADPAddNoOfDates)
  AND (LTRIM(RTRIM(TableName.AAADPSysOperator))) != (LTRIM(RTRIM(@UserName)))) THEN 1
ELSE 0
END AS ErrorTag
FROM TableName;

最新更新