博客
关于我
sql 语句系列(行与列处理)[八百章之第一章]
阅读量:408 次
发布时间:2019-03-06

本文共 582 字,大约阅读时间需要 1 分钟。

排序时对null进行处理

在进行数据库排序时,null值可能会对排序结果产生影响。为了确保null独立处理,可以使用CASE WHEN语句将null转换为特定的值,从而避免影响排序逻辑。

例如,可以使用以下SQL语句:

select * from (select *, case when COMM is null then 0 else 1 end as COMMISNULL from EMP) x order by COMMISNULL, COMM desc

这种方法将null值转换为0,而其他值转换为1,从而确保排序基于数值列,而不是原始null值。

需要注意的是,在判断null时,应使用IS关键字而不是等于号=,因为=运算符在处理null时会返回false。

依据条件逻辑动态调整排序项

在某些情况下,我们可能需要根据特定条件动态调整排序项。例如,可以根据JOB字段的值决定排序的依据。

例如,可以使用以下SQL语句:

select * from EMP order by case when JOB='SALESMAN' then COMM else SAL end

这种方法会根据JOB字段的值,选择不同的字段进行排序。如果JOB字段为'SALESMAN',则按COMM字段排序;否则,按SAL字段排序。这种方式非常灵活,适用于多种动态排序场景。

转载地址:http://bcskz.baihongyu.com/

你可能感兴趣的文章
NVelocity标签设置缓存的解决方案
查看>>
Nvidia Cudatoolkit 与 Conda Cudatoolkit
查看>>
NVIDIA GPU 的状态信息输出,由 `nvidia-smi` 命令生成
查看>>
NVIDIA-cuda-cudnn下载地址
查看>>
nvidia-htop 使用教程
查看>>
nvidia-smi 参数详解
查看>>
Nvidia驱动失效,采用官方的方法重装更快
查看>>
nvm切换node版本
查看>>
nvm安装以后,node -v npm 等命令提示不是内部或外部命令 node多版本控制管理 node多版本随意切换
查看>>
ny540 奇怪的排序 简单题
查看>>
NYOJ 1066 CO-PRIME(数论)
查看>>
nyoj------203三国志
查看>>
nyoj58 最少步数
查看>>
OAuth2 + Gateway统一认证一步步实现(公司项目能直接使用),密码模式&授权码模式
查看>>
OAuth2 Provider 项目常见问题解决方案
查看>>
Vue.js 学习总结(14)—— Vue3 为什么推荐使用 ref 而不是 reactive
查看>>
oauth2-shiro 添加 redis 实现版本
查看>>
OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
查看>>
OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
查看>>
OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
查看>>