在sql中影响排序,但不改变字段值的方法

在order by 后面使用case ... when ... else ... end:

sql 复制代码
select sn, eos_date from device_table
ORDER BY 
	case 
		when eos_date = '1970-01-01' then null
		else eos_date 
		end
		asc
		nulls last

上面的sql中,order by后面不是某个字段,而是一个条件表达式 case ... when ... else ... end.

表示当字段eos_date = '1970-01-01'时,则表示该行数据排序的值为null,其他情况为eos_date的原始值。

但是select到的值,仍然是eos_date的原始值,当eos_date = '1970-01-01',select到的值,仍然是'1970-01-01',而不是null。

相关推荐
冉冰学姐3 分钟前
SSM疫情期间学生作业线上管理系统55zmw(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·计算机毕设·ssm作业管理系统
qq_124987075310 分钟前
基于Srpingboot心晴疗愈社平台的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·spring·microsoft·毕业设计·计算机毕业设计
霖霖总总11 分钟前
[小技巧55]深入解析数据库日志机制:逻辑日志、物理日志与物理逻辑日志在 MySQL InnoDB 中的实现
数据库·mysql
OceanBase数据库官方博客18 分钟前
主流关系型数据库系统缺陷实证研究——OceanBase 校企联合研究
数据库·oceanbase·分布式数据库
LJianK119 分钟前
BUG: Uncaught Error: [DecimalError] Invalid argument: .0
前端
打工的小王24 分钟前
redis(三)redis持久化和集群(redis版本:5.0.4)
数据库·redis·缓存
No Silver Bullet29 分钟前
Nginx 内存不足对Web 应用的影响分析
运维·前端·nginx
一起养小猫33 分钟前
Flutter for OpenHarmony 实战 表单处理与验证完整指南
android·开发语言·前端·javascript·flutter·harmonyos
weixin_3954489139 分钟前
main.c_cursor_0130
前端·网络·算法