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
相关推荐
今晚务必早点睡6 小时前
微服务改数据库密码后服务仍能访问?一次“看似异常、实则常见”的生产现象全解析
数据库·微服务·oracle
老师我太想进步了20267 小时前
cmd连接MySQL及相关查询
数据库·mysql
難釋懷10 小时前
Redis命令-Set命令
数据库·redis·缓存
Linux-palpitate10 小时前
PostgreSQL(PG)的1主2从集群部署安装
数据库·postgresql
dingdingfish11 小时前
Oracle数据库19c技术架构
oracle·database·architecture·19c·technical
heartbeat..11 小时前
数据库基础知识体系:概念、约束、范式与国产产品
java·数据库·学习笔记·国产数据库
山峰哥11 小时前
数据库工程核心:SQL调优让查询效率飙升的实战密码
网络·汇编·数据库·sql·编辑器
Coder_Boy_12 小时前
基于SpringAI的在线考试系统-DDD业务领域模块设计思路
java·数据库·人工智能·spring boot·ddd
小雪_Snow13 小时前
Windows 安装 MySQL 8.0 教程【安装包方式】
数据库·mysql
无敌的牛13 小时前
MySQL初阶
数据库·mysql