在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。

相关推荐
小旋风012345 分钟前
前端对接豆包AI(vue2版本)
前端·人工智能
—Qeyser9 分钟前
Flutter AppBar 导航栏组件完全指南
前端·javascript·flutter
清风拂山岗 明月照大江18 分钟前
MySQL进阶
数据库·sql·mysql
努力进修22 分钟前
金仓数据库:多模融合内核驱动,重构国产化文档数据库新生态
数据库·重构
Miss_Chenzr22 分钟前
Springboot企业人事管理系统mi130(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring boot
Amumu1213831 分钟前
React扩展(一)
前端·javascript·react.js
大猫会长33 分钟前
postgresql内的RLS规则
数据库·postgresql
cypking33 分钟前
三、前端规范化 项目代码规范
前端·代码规范
YIN_尹34 分钟前
【MySQL】表的约束(上)
android·数据库·mysql
云和数据.ChenGuang1 小时前
运维故障之MySQL 连接授权错误
运维·数据库·人工智能·mysql