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

相关推荐
wuhen_n14 分钟前
Promise与async/await
前端
LYFlied16 分钟前
前端路由核心原理深入剖析
前端
用户190176844786516 分钟前
vue3规范化示例
前端
用户190176844786518 分钟前
Git分支管理与代码合并实践:保持特性分支与主分支同步
前端
川石课堂软件测试34 分钟前
Android和iOS APP平台测试的区别
android·数据库·ios·oracle·单元测试·测试用例·cocoa
没有鸡汤吃不下饭37 分钟前
前端打包出一个项目(文件夹),怎么本地快速启一个服务运行
前端·javascript
liusheng39 分钟前
Capacitor + React 的 iOS 侧滑返回手势
前端·ios
CUYG1 小时前
v-model封装组件(定义 model 属性)
前端·vue.js
子洋1 小时前
基于远程开发的大型前端项目实践
运维·前端·后端
Codeking__1 小时前
Redis的value类型介绍——list
数据库·redis·缓存