DATEDIFF与CASE声明空白

时间:2016-03-18 09:49:13

标签: php sql ms-access-2007 case datediff

我在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的最后一次活动之间的日期差异。这些都可以正常工作,直到我尝试添加如上所述的DATEDIFF Case语句

这可能是我对SQL的理解(对它来说相对较新),但查询返回前端空白但没有错误,所以我假设我的代码有问题?

感谢帮助。

1 个答案:

答案 0 :(得分:2)

Access SQL不知道CASE WHEN

改为使用IIf()Switch()功能。