可以使用SQL按日期排序,但是把空日期放在结果集后面吗?
技术问答
529 人阅读
|
0 人回复
|
2023-09-14
|
我在MySQL数据库中有一堆任务,其中一个是截止日期。并非所有任务都必须在截止日期前完成。2 [+ A* r) d9 T; h7 p) U8 [4 s+ W" E" H
我想使用SQL根据截止日期对任务进行排序,但没有截止日期的任务集中在结果上。现在,首先显示空日期,然后根据最早到最晚的截止日期对其他日期进行排序。
3 f" U7 V+ m F, y! w; C关于如何单独使用SQL任何关于这个操作的想法?(如有必要,我可以用PHP这样做,但只用SQL解决方案会很棒。
! ?, M; M) J+ H+ r( w谢谢!" o5 y$ S7 i9 F; W
; S8 i. Q/ ~0 L
解决方案: ) Y' {. q1 p5 a7 @
这使用标准SQL而不使用ISNULL()解决方案。该功能不是标准的SQL,可能不适用于其他品牌RDBMS。
0 n& f7 m# O1 j% s% B, d) m( D2 DSELECT * FROM myTableWHERE ...ORDER BY CASE WHEN myDate IS NULL THEN 1 ELSE 0 END,myDate; |
|
|
|
|
|