SQL SERVER 特殊排序处理

需求提到需要将为null的数据无论正序还是倒叙都排在最后。

开始想用isnull()给个默认的最大值或者最小值来排序,回头想想好蠢。

后来搜到的这个处理方式非常巧妙——

原文链接SQL Server 排序的时候使 null 值排在最后 - Brambling - 博客园

select UserInfoID,User_No,User_Names 
from UserInfo 
order by case when User_NO is null then 1 else 0 end asc,User_NO asc 

我的使用实例:
  Row_Number() Over(Order By case when FirstStorageOn is null then 1 else 0 end asc,FirstStorageOn $order$) rowIndex

以后排序时,还是可以多在order by后面做做文章。

而且举一反三,这种方式给了很大的启迪,这样子哪怕想把null的数据排在中间都可以。[狗头]

工作的小乐趣就在于时常能发现此类的新姿势,然后有醍醐灌顶的感觉。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值