1

有:

SELECT DISTINCT TOP 100 * FROM mytable ORDER BY date ASC

如何使日期中的空值最后出现?

非常感谢。

4

1 回答 1

5

一些数据库支持最后一个 NULL 的语法,order by而有些则不支持。所以,我使用:

select distinct top 100 *
from MyTable
order by  (case when date is null then 1 else 0 end), date asc

或者,如果我不想输入太多:

order by coalesce(date, '9999-12-12')  -- or something like that

您还可以将 distinct 放在子查询中:

select top 100 *
from (select distinct *
      from mytable
     ) t
order by (case when date is null then 1 else 0 end), date asc

但是,假设它date在列列表中,第一个版本应该可以工作。

于 2013-01-16T11:42:51.060 回答