我在MySQL数据库中有很多任务,其中一个字段是"截止日期".并非每项任务都必须有截止日期.
我想使用SQL按截止日期对任务进行排序,但将没有截止日期的任务放在结果集的后面.按照现在的情况,空日期首先显示,其余日期按截止日期从早到晚排序.
有没有关于如何单独使用SQL来实现这一点的 idea ?(如果需要的话,我可以用PHP来实现,但只使用SQL的解决方案会很好.)
谢谢
我在MySQL数据库中有很多任务,其中一个字段是"截止日期".并非每项任务都必须有截止日期.
我想使用SQL按截止日期对任务进行排序,但将没有截止日期的任务放在结果集的后面.按照现在的情况,空日期首先显示,其余日期按截止日期从早到晚排序.
有没有关于如何单独使用SQL来实现这一点的 idea ?(如果需要的话,我可以用PHP来实现,但只使用SQL的解决方案会很好.)
谢谢
这里有一个只使用标准SQL而不是ISNULL()的解决方案.该函数不是标准的SQL,可能无法在其他品牌的RDBMS上使用.
SELECT * FROM myTable
WHERE ...
ORDER BY CASE WHEN myDate IS NULL THEN 1 ELSE 0 END, myDate;