如果DateExpected不为null,则检查一个条件,否则检查另一个条件

时间:2016-03-30 17:52:29

标签: sql sql-server-2008

(CASE WHEN (NULLIF(DateExpected, '1/1/1900') IS NOT NULL) 
      THEN (DATEDIFF(D, DateExpected, GETDATE()) > 8) 
 ELSE (DATEDIFF(D, ApptDate, GETDATE()) > 27) END)

我在查询条件的地方应用逻辑。我收到语法错误。请帮帮我。

1 个答案:

答案 0 :(得分:0)

你不能在where子句中使用CASE 试试这个

Where (IsNUll(DateExpected,'1/1/1900') <> '1/1/1900' and DATEDIFF(D, DateExpected, GETDATE()) > 8) or DATEDIFF(D, ApptDate, GETDATE()) > 27