DATEDIFF с CASE Заявление пустым

Я извлекаю некоторые данные в запросе SQL для вывода на PHP, как показано ниже.

, DATEDIFF('d',Activity.CreatedOn, NOW()) As Dif
, DATEDIFF('d',qSWxSRLastUpdated.MaxOfCreatedOn, NOW()) As LastUpd
, FORMAT((qSWxSRLastUpdated.MaxOfCreatedOn), 'DD-MMM-YYYY') AS Start
, FORMAT((Activity.CreatedOn), 'DD-MMM-YYYY') AS CreatedOn
, DATEDIFF('d',(Select CASE WHEN Activity.CreatedOn > qSWxSRLastUpdated.MaxOfCreatedOn
THEN Activity.CreatedOn
ELSE qSWxSRLastUpdated.MaxOfCreatedOn
END), NOW()) AS MostRecentDate

Теперь первоначальные операторы DATEDIFF извлекают разницу в дате между последним обновлением, отформатированным как CreatedOn, и последним действием, отформатированным как Dif. Все это работает нормально, пока я не попытаюсь добавить оператор Case DATEDIFF, как указано выше.

Возможно, я понимаю SQL (будучи относительно новым для него), но запрос возвращает пустой интерфейс, но не выдает ошибку, поэтому я предполагаю, что есть проблема с моим кодом?

Ценю помощь.

0

Решение

Access SQL не знает CASE WHEN,

Использовать IIf() или же Switch() функции вместо

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]