T-SQL Server ORDER BY日期,最后为null



我正在为70-761考试学习,在使用order by时,要求在最后放置null是一个挑战,我知道结果是这样的:

选择orderid,装船日期来自销售订单其中custid=20按案例排序,当shippeddate为null时,则1其他0结束,shippeddate

我不知道的是,为什么1和0以及它们如何影响结果,任何人都能澄清。

谨致问候,Daniel

order子句中有两个参数,它喜欢拆分两个组,然后继续对这些组中的项目进行排序

首先,因为0小于1,所以所有没有发货日期的订单都将被推到最后。然后我们将在发货日期前订购示例:

orderID|发货日期

  1. |null
  2. |今天
  3. |null
  4. |昨天
  5. |明天

首先由case when shippeddate is null then 1 else 0 end排序,我们将得到

orderID|发货日期

  1. |今天
  2. |昨天
  3. |明天
  4. |null
  5. |null

然后继续按发货日期排序,我们将得到

  1. |昨天
  2. |今天
  3. |明天
  4. |null
  5. |null

希望它对您的有用

最新更新