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

相关推荐
WHOVENLY6 分钟前
【javaScript】- 作用域[[scope]]
前端·javascript
来杯三花豆奶11 分钟前
Vue3 Pinia 从入门到精通
前端·javascript·vue.js
小小测试开发26 分钟前
实战派SQL性能优化:从语法层面攻克项目中的性能瓶颈
android·sql·性能优化
云和恩墨29 分钟前
告别 “事后救火”:7 大前置动作规避 80% 数据库故障
数据库·oracle
卡布叻_星星32 分钟前
Docker之Nginx前端部署(Windows版-x86_64(AMD64)-离线)
前端·windows·nginx
LYFlied32 分钟前
【算法解题模板】-解二叉树相关算法题的技巧
前端·数据结构·算法·leetcode
weibkreuz35 分钟前
React的基本使用@2
前端·javascript·react.js
于是我说39 分钟前
前端JavaScript 项目中 获取当前页面滚动位置
开发语言·前端·javascript
GISer_Jing39 分钟前
AI在前端开发&营销领域应用
前端·aigc·音视频
STLearner1 小时前
VLDB 2025 | 时间序列(Time Series)论文总结(预测,异常检测,压缩,自动化等)
数据库·人工智能·深度学习·神经网络·机器学习·数据挖掘·时序数据库