小编典典

可以使用SQL按日期排序,但将空日期放在结果集的后面吗?

sql

我在MySQL数据库中有一堆任务,其中一个字段是“截止日期”。并非每个任务都必须在截止日期之前完成。

我想使用SQL按截止日期对任务进行排序,但是将没有截止日期的任务放在结果集中。现在,首先显示空日期,然后按最早到最晚的截止日期对其余日期进行排序。

关于如何单独使用SQL进行此操作的任何想法?(如果需要,我可以使用PHP来做到这一点,但是仅使用SQL的解决方案会很棒。)

谢谢!


阅读 199

收藏
2021-04-15

共1个答案

小编典典

这是仅使用标准SQL而不使用ISNULL()的解决方案。该功能不是标准的SQL,并且可能不适用于其他品牌的RDBMS。

SELECT * FROM myTable
WHERE ...
ORDER BY CASE WHEN myDate IS NULL THEN 1 ELSE 0 END, myDate;
2021-04-15