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

相关推荐
xuboyok2几秒前
PHP vs Java:核心差异与选型指南
开发语言·前端·php
遇见你...1 分钟前
B01 SpringMVC入门
数据库·sql
D_C_tyu1 分钟前
Vue3 + Vite 项目实现页面离开时取消所有未完成请求
前端·vue.js
2601_949816164 分钟前
使用python进行PostgreSQL 数据库连接
数据库·python·postgresql
leafyyuki8 分钟前
Pyenv Rehash 失败:锁文件与‘无法覆盖已有文件’问题
前端
脑子加油站9 分钟前
mysql数据库常用命令
数据库
Binarydog_Lee10 分钟前
Tauri2 开发入门:应用是如何启动的
前端·rust·tauri
一个天蝎座 白勺 程序猿12 分钟前
KingbaseES性能优化实战:从CPU高使用率到高效运行的全路径解析
数据库·性能优化·时序数据库
SuperHeroWu715 分钟前
【Neo4j 】图数据库容器化部署(国内源,Linux 详细步骤)
linux·数据库·neo4j
Funky_oaNiu16 分钟前
Oracle大批量数据更新总体思路:避坑指南与关键原则
数据库·oracle