SQL Server ORDER BY 日期和最后的空值

2023-11-26

我正在尝试按日期订购。我希望最近的日期排在最前面。这很简单,但是有许多记录为空,并且这些记录位于任何具有日期的记录之前。

我尝试了一些方法但没有成功:

ORDER BY ISNULL(Next_Contact_Date, 0)

ORDER BY ISNULL(Next_Contact_Date, 999999999)

ORDER BY coalesce(Next_Contact_Date, 99/99/9999)

如何按日期排序并使空值排在最后?数据类型是smalldatetime.


smalldatetime范围截至 2079 年 6 月 6 日,因此您可以使用

ORDER BY ISNULL(Next_Contact_Date, '2079-06-05T23:59:00')

如果没有合法记录,就会有该日期。

如果这不是您喜欢的假设,那么更强大的选项是对两列进行排序。

ORDER BY CASE WHEN Next_Contact_Date IS NULL THEN 1 ELSE 0 END, Next_Contact_Date

上述两个建议都无法使用索引来避免排序,但给出了相似的外观计划。

enter image description here

如果存在这样的索引,另一种可能性是

SELECT 1 AS Grp, Next_Contact_Date 
FROM T 
WHERE Next_Contact_Date IS NOT NULL
UNION ALL
SELECT 2 AS Grp, Next_Contact_Date 
FROM T 
WHERE Next_Contact_Date IS NULL
ORDER BY Grp, Next_Contact_Date

Plan

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server ORDER BY 日期和最后的空值 的相关文章

随机推荐

  • 我们可以在不同域的两个页面之间使用 IndexedDB 吗?

    我在我的一页中创建了一个 IndexedDB 对象存储 让对象存储名称为 ShopStore 现在我想从不同的页面打开相同的对象存储 是否可以 我的两个网页位于不同的域中 根据MDN您不能对indexedDB进行跨域访问 出于安全原因 您不
  • 我如何知道一个 STL 对象占用了多少内存?

    我需要收集有关程序中内存使用情况的统计数据 我的代码大部分是用STL编写的 有什么方法可以了解 STL 对象消耗了多少内存 例如 string s1 hello string s2 hellohellohellohellohellohell
  • shell中如何处理超过10个参数

    我在 Linux 上使用 bash shell 想要在 shell 脚本中使用超过 10 个参数 使用花括号将它们分开 echo 10 任何位置参数都可以保存在变量中以记录其使用并使后面的语句更具可读性 city name 10 如果传递的
  • 确定更改的事件是否因用户输入而发生

    在 C 中 无论该值是由用户直接更改还是由于某些其他事件而以编程方式更改 控件 例如 numericupdown 的 Changed 事件都会被触发 有没有办法确定事件是否是由于用户输入而发生的 例如 手动更改 numericUpDown1
  • 当块位于初始值设定项中时捕获块中的变量

    考虑一下 id observer NSNotificationCenter defaultCenter addObserverForName MyNotification object nil queue nil usingBlock NS
  • 正则表达式模式用于检查字符串中每个单词的第一个字母在 Javascript 中是否为大写

    例如我的字符串是Foo Bar 该字符串应该与模式匹配 如果字符串是Foo bar 该字符串不应匹配 如果字符串是福巴 福巴字符串应该匹配 如果字符串是Foo 它也应该匹配 到目前为止我只有这个模式 A Z 1 s 基本上我只会接受每个单词
  • WPF:如何通过 XAML 将整个 Control 作为 CommandParameter 传递?

    我正在使用 MVVM 自定义 ICommand 对象由 ViewModel 层提供 一个 ViewModel 对象可以同时通过 DataContext 属性附加到许多 View 对象 窗口 页面等 在 ICommand CanExecute
  • SqlDependency 与 EntityFramework 6(异步)

    我正在使用 EF 6async查询特征 例如 var list await cx Clients Where c gt c FirstName Length gt 0 ToListAsync 我还想启动对这些查询的 SQL 依赖项 以便在数
  • 如何更改 WCF 中的 SOAP 信封架构?

    我正在通过 WCF 连接到第三方端点 但遇到一个问题 WCF 生成的 SOAP 信封架构与端点不兼容 目前 WCF 正在生成
  • 滚动到特定 div

    我有几个divs posts其中有一个attr data id这对应于mysql DB id div class posts div div class posts div 现在如果我想滚动到特定的div只有我知道data id 我将如何滚
  • RX Observable.TakeWhile 检查每个元素之前的条件,但我需要在之后执行检查

    Observable TakeWhile 允许您在条件为真时运行序列 使用委托 以便我们可以对实际序列对象执行计算 但它会在每个元素之前检查此条件 如何在每个元素之后执行相同的检查 下面的代码演示了这个问题 void RunIt List
  • 将字符集转换为 nfa/dfa 的高效算法

    我目前正在研究扫描仪生成器 发电机已经工作正常 但是当使用字符类时 算法会变得非常慢 扫描仪生成器生成 UTF8 编码文件的扫描仪 应支持完整范围的字符 0x000000 到 0x10ffff 如果我使用大字符集 例如任何运算符 或 uni
  • iframe 内容在 Firefox 上消失

    我正在用基本的 HTML 填充一个空的 iframe 使用 iframe contents find body html contentBody See http jsfiddle net UjT2b 2 这在 Chrome 上效果很好 在
  • Mapbox gl js - 重叠图层和鼠标事件处理

    是否有任何清晰可靠 和描述 的机制来控制 Mapbox GL JS 中重叠图层的鼠标事件 例如 我有 3 个重叠的层 但希望仅对顶部的层调用单击处理程序 而不是对所有 3 个层调用 这是否可能 目前 作为解决方法 我跟踪 MouseEnte
  • Jpgraph 不会改变我的条形图上的颜色

    我刚刚开始使用 jpgraph 和 XAMPP 我想制作一个条形图 当我在网上阅读一些文章时 它说您可以传递一系列颜色来设置填充颜色 以便每个条形都具有不同的颜色 然而 每当我传递它的颜色时 图表都不会改变其默认的浅蓝色颜色 图表响应数据的
  • 扩展 prestashop web 服务资源

    我正在尝试延长carts多一个字段的资源应输出以下结果Cart getSummaryDetails称呼 我已经延长了CartCore类添加新参数和相应的方法 如下所示 class Cart extends CartCore protecte
  • MS Access 通过文本框而不是下拉列表搜索记录

    我对 MS Access 还很陌生 我正在尝试创建一个简单的表单 基本上将使用文本框而不是下拉框搜索特定记录 本质上 用户将能够输入 ID 号并检索一些其他相关信息 但是 我不希望用户能够向数据库添加任何新记录 我已经能够让表单看起来像我想
  • 使用 Javascript 转到本地 URL

    同样的问题here但我需要在 Firefox 中访问本地 URL 我尝试使用类似的代码 var url file E Test Test htm window location href url 但 id 不起作用 尝试去与window l
  • PHP PDO 缓存

    我一直在寻找这个问题的答案 但没有在任何地方找到 对 PDO prepare 的调用是否已缓存 或者我应该自己缓存结果 即如果我执行以下操作 function foo handle PDO prepare do stuff with the
  • SQL Server ORDER BY 日期和最后的空值

    我正在尝试按日期订购 我希望最近的日期排在最前面 这很简单 但是有许多记录为空 并且这些记录位于任何具有日期的记录之前 我尝试了一些方法但没有成功 ORDER BY ISNULL Next Contact Date 0 ORDER BY I