gpt4 book ai didi

sql-server - ORDER BY DATE 首先显示 NULL,然后显示最近的日期

转载 作者:行者123 更新时间:2023-12-01 17:40:55 24 4
gpt4 key购买 nike

我有一个执行 select 语句的存储过程。我希望我的结果按日期字段排序,并首先显示具有 NULL 日期的所有记录,然后显示最近的日期。

该语句如下所示:

SELECT a,b,c,[Submission Date]
FROM someView
ORDER BY [Submission Date] ASC

现在,这将首先显示所有提交日期为 NULL 的记录,但是当我到达其中包含日期值的行时,它们不是 View 中的最新日期。

如果我用 DESC 替换 ASC,那么我会按照我想要的顺序获得日期,但 NULL 值位于结果集的底部。

有什么方法可以构建我的查询,以便我可以在顶部显示空值,然后当存在日期值时,将它们按从最近到最旧的降序排列?

最佳答案

@Chris,你几乎已经拥有它了。

ORDER BY (CASE WHEN [Submission Date] IS NULL THEN 1 ELSE 0 END) DESC, 
[Submission Date] DESC

[编辑:#Eppz 要求我调整上面的代码,如当前所示]

我个人更喜欢这个,而不是创建“魔数(Magic Number)”。魔数(Magic Number)几乎总是一个等待发生的问题。

关于sql-server - ORDER BY DATE 首先显示 NULL,然后显示最近的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/821798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com