Access 2010 - 需要用值替换null

时间:2011-08-03 06:02:26

标签: ms-access null replace ms-access-2010

我有一个查看两次的查询并计算差异并将值(以秒为单位)放在另一个字段中。然后我对那个领域进行排序问题是当其中一个时间为空时,新字段中的行未填充,因此当我对它们进行排序时,其中没有任何内容被推到顶部。

我想要做的是用另一个值替换null。像9999999这样的东西。当我执行排序时,现在有999999的行将放在排序的底部。

以下是查询的SQL表达式。

    SELECT FOCFClassic.FirstName, FOCFClassic.LastName, FOCFClassic.[Bib#], FOCFClassic.[2011SDStartTime], FOCFClassic.[2011SDFinishTime], Diff2Dates("ns",[FOCFClassic].[2011SDStartTime],[FOCFClassic].[2011SDFinishTime]) AS 2011SDRunTime, FOCFClassic.SDCategory, FOCFClassic.Team, FOCFClassic.SDRank, DateDiff("s",[2011SDStartTime],[2011SDFinishTime]) AS TotalTime
    FROM FOCFClassic
    WHERE (((Diff2Dates("ns",[FOCFClassic].[2011SDStartTime],[FOCFClassic].[2011SDFinishTime]))<>"") AND ((DateDiff("s",[2011SDStartTime],[2011SDFinishTime])) Is Not Null))
    ORDER BY FOCFClassic.SDRank, DateDiff("s",[2011SDStartTime],[2011SDFinishTime]);

我这是一个菜鸟,所以需要一点手拿着我。

谢谢你提前! 戈登

1 个答案:

答案 0 :(得分:1)

您可以使用NZ()函数:如果字段为空,NZ(MyDate, #1/1/1950#)将返回1950年1月,否则返回字段值。使用IIF()和ISNULL()函数或IS NULL条件可以获得相同的结果 在性能方面,使用IIF(myDate IS NULL, #1/1/1950#, myDate)应该是最快的。