Как сделать рабочее предложение IIF в MS Access - PullRequest
0 голосов
/ 08 ноября 2018

Итак, я только что изучил немного SQL в Access в школе и застрял. Задача состоит в том, чтобы отобразить классы и дату, когда они «начались» и когда они закончатся. Если один из них пуст, я должен указать текущий год. Вот что я получил до сих пор

Select
    Klassen.K_Nr,
    Klassen.K_Datumvon,
    K_Datumbis
From
    Klassen
Where
    iif( (K_Datumvon Or K_Datumbis) Is Null, 2018)

1 Ответ

0 голосов
/ 08 ноября 2018

Функция IIF в JET Red SQL (используется Microsoft Access) имеет следующий синтаксис:

https://support.office.com/en-us/article/iif-function-32436ecf-c629-48a3-9900-647539c764e3

IIf ( expr , truepart , falsepart )

В вашем запросе вы захотите использовать IIF в части SELECT, а не WHERE, поскольку это не предикат.

SELECT
    K_Nr,
    IIF( K_Datumvon IS NULL, DATE(), K_Datumvon ) AS K_Datumvon,
    IIF( K_Datumbis IS NULL, DATE(), K_Datumbis ) AS K_Datumbis,
FROM
    Klassen

Обратите внимание, что этот SQL использует DATE() для возврата текущей даты.

...