我试图将一个代码块从SQL Server Management Studio转换为Access数据库,并且我的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
试试IIf和octothorpes(#):
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
您缺少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