Access 2010 - необходимо заменить нулевое значение - PullRequest
0 голосов
/ 03 августа 2011

У меня есть запрос, который просматривает два раза, вычисляет разницу и помещает значение (в секундах) в другое поле. Затем я сортирую это поле. Проблема в том, что однажды пустая строка в новом поле не заполнена, поэтому, когда я делаю сортировку, строки, в которых ничего нет, выдвигаются наверх.

То, что я хотел бы сделать, это заменить пустое значение другим значением. Что-то вроде 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 Ответ

1 голос
/ 03 августа 2011

Вы можете использовать функцию NZ (): NZ(MyDate, #1/1/1950#) вернет 1 января 1950 г., если поле пустое, в противном случае значение поля.Вы можете достичь того же результата, используя функции IIF () и ISNULL () или условие IS NULL.
С точки зрения производительности, использование IIF(myDate IS NULL, #1/1/1950#, myDate) должно быть самым быстрым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...