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
尝试 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
我正在尝试将代码块从 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
尝试 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