Sql 如何在ms access中将中的语句用作条件

Sql 如何在ms access中将中的语句用作条件,sql,ms-access,where,ms-access-2013,Sql,Ms Access,Where,Ms Access 2013,我有一个表和一个查询来查找表中的特定行。该表包含一个名为DueDate的列,其中包含一个短文本形式的日期。在某些情况下,到期日不适用,因此在某些情况下,它包含字符串“N/A”。我要做的是使用表达式Expr1: DateDiff(“m”;CDate([DueDate]);Date())在带有条件的where语句中使用条件筛选那些记录 where DueDate <> 'N/A' 其中DueDate“不适用” 可以在 >子句中使用 IIF 表达式,但是我建议您考虑这个“代码>开关< /

我有一个表和一个查询来查找表中的特定行。该表包含一个名为
DueDate
的列,其中包含一个短文本形式的日期。在某些情况下,到期日不适用,因此在某些情况下,它包含字符串“N/A”。我要做的是使用表达式Expr1:
DateDiff(“m”;CDate([DueDate]);Date())
在带有条件的where语句中使用条件筛选那些记录

where DueDate <> 'N/A'
其中DueDate“不适用”

可以在<<代码> < < /C> >子句中使用<代码> IIF <代码>表达式,但是我建议您考虑这个“代码>开关< /代码>表达式。当
DueDate='N/A'
时返回False,当
DateDiff
表达式返回的值小于1个月时返回True,否则返回Null

WHERE开关
(
DueDate='N/A',False,
DateDiff('m',CDate([DueDate]),Date())<1,True
)=正确