MS Access SQL Case When 表达式

MS Access SQL Case When expression

我正在尝试将代码块从 SQL Server Management Studio 转换为 Access 数据库,但我的 Case When 表达式遇到了一些问题。

我在下面的 Case When 中遗漏了什么以便它与 MS Access 查询兼容?

Case WHEN E.MemberStartDate <= "2018-01-01 AND E.MemberEndDate >= "2018-12-31" 
THEN "" 
WHEN "2018-01-01" <= E.MemberEndDate AND "2018-01-31" >= 
E.MemberStartDate THEN "X" ELSE "" END AS Cov1Jan

你错过了 MS-Access 不支持 case。所以:

switch(E.MemberStartDate <= "2018-01-01 AND E.MemberEndDate >= "2018-12-31", "", 
       "2018-01-01" <= E.MemberEndDate AND "2018-01-31" >= 
E.MemberStartDate, "X"
       1=1, "") AS Cov1Jan

尝试 IIfoctothorpes (#):

IIf(E.MemberStartDate <= #2018/01/01 AND E.MemberEndDate >= #2018/12/31#, 
    Null,
    IIf(#2018/01/01# <= E.MemberEndDate AND #2018/01/31# >= E.MemberStartDate, 
        "X", 
        Null)) AS Cov1Jan