Oracle 中排序碰到 null 值如何处理

一、前言

Oracle 在 Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前。

二、使用nulls first 或者nulls last 语法

nulls first 和 nulls last 是Oracle Order by支持的语法。

如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)

如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)

使用语法如下:

cpp 复制代码
-- 将 nulls 始终放在最前
select * from zl_cbqc order by cb_ld nulls first

-- 将 nulls 始终放在最后
select * from zl_cbqc order by cb_ld desc nulls last
相关推荐
2501_948195345 小时前
RN for OpenHarmony英雄联盟助手App实战:主导航实现
数据库
Filotimo_5 小时前
N+1查询问题
数据库·oracle
fenglllle7 小时前
spring-data-jpa saveall慢的原因
数据库·spring·hibernate
DarkAthena8 小时前
【GaussDB】执行索引跳扫时如果遇到该索引正在执行autovacuum,可能会导致数据查询不到
数据库·gaussdb
短剑重铸之日8 小时前
《7天学会Redis》Day 5 - Redis Cluster集群架构
数据库·redis·后端·缓存·架构·cluster
007php0078 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
lkbhua莱克瓦248 小时前
进阶-存储过程3-存储函数
java·数据库·sql·mysql·数据库优化·视图
老邓计算机毕设9 小时前
SSM心理健康系统84459(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·心理健康系统·在线咨询
碎像9 小时前
10分钟搞定 MySQL 通过Binlog 数据备份和恢复
数据库·mysql