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

相关推荐
JZXStudio5 分钟前
Swift 6 + MLX + SwiftUI:三位一体本地AI架构蓝图
前端·ios
神秘的猪头7 分钟前
彻底搞懂 React 组件通信:从 TodoList 实战出发,解锁 React 开发的“核心姿势” 🚀
前端·react.js·架构
若梦plus8 分钟前
实现WebView JSBridge
前端
罗政8 分钟前
mybatis-plus插件解决sql报错:this is incompatible with sql_mode=only_full_group_by ”
数据库·sql·mybatis
JS_GGbond10 分钟前
揭秘微信扫码登录:那个小绿框背后的魔法
前端
leo_qiu_s10 分钟前
MERGE INTO语句
数据库
C_心欲无痕13 分钟前
vue3 - 响应式数ref与reactive的深度解析
前端·javascript·vue.js
全栈老石15 分钟前
TypeScript 中 Type 和 Interface 傻傻分不清?看完这篇就不纠结了
前端·typescript
未来之窗软件服务15 分钟前
幽冥大陆(六十二) 多数据库交叉链接系统Go语言—东方仙盟筑基期
数据库·人工智能·oracle·golang·数据库集群·仙盟创梦ide·东方仙盟