SQL order by 语句对null值排序

记order by 语句对null值排序:

MySQL:

  • 将null值放在最后
    select *
    from user
    order by if(isnull(sort), 1, 0),sort asc,publish_time desc;
    
  • 将null值放在最前
    select *
    from user
    order by if(isnull(sort), 0, 1),sort asc,publish_time desc;
    

Oracle:

oracle认为 null 最大。
升序排列,默认情况下,null值排后面。
降序排序,默认情况下,null值排前面。

(1)用 nvl 函数或decode 函数 将null转换为一特定值
(2)用case语法将null转换为一特定值(oracle9i以后版本支持。和sqlserver类似):

order by (case mycol when null then ’北京漂客’ else mycol end)

(3)使用nulls first 或者nulls last 语法。

这是oracle专门用来null值排序的语法。

  • nulls first :将null排在最前面。如:
select * from mytb order by mycol nulls first
  • null last :将null排在最后面。如:
select * from mytb order by mycol nulls last

SqlServer:

sqlserver 认为 null 最小。

升序排列:null 值默认排在最前。

要想排后面,则:

order by case when col is null then 1 else 0 end ,col

降序排列:null 值默认排在最后。

要想排在前面,则:

order by case when col is null then 0 else 1 end , col desc
posted @   ProsperousEnding  阅读(1098)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
  1. 1 原来你也在这里 周笔畅
  2. 2 世间美好与你环环相扣 柏松
  3. 3 起风了 吴青峰
  4. 4 极恶都市 夏日入侵企划
  5. 5 所念皆星河 CMJ
  6. 6 所念皆星河-歌词版 房东的猫
  7. 7 卡农-钢琴版 dylanf
  8. 8 The truth that you leave Pianoboy高至豪
  9. 9 虹之间 米叔啊
虹之间 - 米叔啊
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

编曲:高佳

制作人:陈美威

和声编写:金贵晟

和声:金贵晟

配唱:陈美威

配唱协力:徐威

Vocal录音师:徐威

Vocal录音室:飞行者录音棚

和声录音师:徐威

和声录音室:飞行者录音棚

混音:陈宇轩/Jovi Chen

混音录音室:飞行者录音棚

OP:SAMP (Beijing) Co., Ltd索雅音乐版权代理(北京)有限公司

SP:SAMP (Beijing) Co., Ltd索雅音乐版权代理(北京)有限公司

想借天使的翅膀

抓住云端的彩虹

总在将要触碰时消散

错觉的地久天长

其实是一无所有

童话说雨后会有一道彩虹

却不曾说过它也会转瞬成空

想要把绚烂紧紧握在手中

忽然发现你已不见

站在无尽红尘中

仰望曾有你的苍穹

得到以后转眼又落空

究竟什么是永恒

都无法拥有完整

Oh my love

我看见希望闪耀在虹之间

光芒凝结于你我的那片天

不再追问你为何不能停留

微笑看见爱的浮现

雨后的天空重又出现彩虹

天使的恩惠亲吻着世间万众

不再追问你为何不能停留

放下了执念微笑现在

点击右上角即可分享
微信分享提示