如何按升序对列进行排序,最后将NULL值排序?

use*_*351 0 sql ms-access ms-access-2016

我正在使用个人数据库来跟踪我的项目。

StartDate在表中有一个称为日期/时间的列,该列在查询中按升序排序,该查询用作输入数据的表单的数据源。

该表格是一个拆分表格,以表格格式显示“详细信息”部分中的数据。

到目前为止,我已经输入了分配的项目,但是现在我还需要跟踪将要分配但尚未分配的常见项目。

为了对此进行跟踪,我想输入没有开始日期的未来项目。

但是,当我输入这样的记录时,它们将排在顶部,而不是我喜欢的列表的底部。

有什么方法可以覆盖排序,以便在StartDate列中具有值的记录以升序排列,但是在StartDate列中没有值的记录将在末尾排序吗?

谢谢!

Gus*_*tav 6

如果您在日期字段上进行任何计算,则将失去对该索引的使用。

因此检查Null

SELECT 
    startdate, id
FROM 
    YourTable
ORDER BY
    StartDate Is Null,
    StartDate
Run Code Online (Sandbox Code Playgroud)

  • 最简单,最有效的答案 (3认同)