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

相关推荐
ITMr.罗几秒前
【无标题】
数据库
一颗趴菜26 分钟前
微信小程序如何去下载PDF呢
前端·javascript
KaMeidebaby30 分钟前
卡梅德生物技术快报|细菌 FISH 实验 + 流式细胞术:尿路感染活菌快速定量系统实现与数据验证
前端·数据库·其他·百度·新浪微博
昆曲之源_娄江河畔32 分钟前
DBGridEh Footer的使用
前端·数据库·delphi·dbgrideh
邮专薛之谦44 分钟前
MySQL 完整SQL指令大全(含详细解释+实战示例)
数据库·sql·mysql
廖松洋(Alina)1 小时前
02数据模型与单词仓库-鸿蒙PC端Electron开发
前端·华为·electron·开源·harmonyos·鸿蒙
YL200404261 小时前
MySQL-进阶篇-SQL优化
数据库·sql·mysql
Irissgwe1 小时前
redis之典型应用-缓存cache
数据库·redis·缓存·缓存击穿·缓存雪崩·redis淘汰策略
幽络源小助理1 小时前
最新短网址系统源码 分用户链接 - 幽络源免费源码分享
前端·php
Muen1 小时前
SwiftUI-学习路线
前端