MS Access SQL Case Когда выражение - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь преобразовать блок кода из SQL Server Management Studio в базу данных Access, и у меня возникли некоторые проблемы с выражениями моего случая.

Чего мне не хватает в случае, когда ниже, так что этосовместим с MS Access Queries?

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

Ответы [ 2 ]

2 голосов
/ 17 апреля 2019

Попробуйте с IIf и октоторпами (#):

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
1 голос
/ 17 апреля 2019

Вам не хватает того, что 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
...