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

相关推荐
青衫码上行14 小时前
高频 SQL 50题(基础版)| 查询 + 连接
数据库·sql·学习·mysql
Anastasiozzzz15 小时前
阿亮随手记:动态条件生成Bean
java·前端·数据库
iameyama15 小时前
python Pandas 开发
数据库
Highcharts.js15 小时前
数据之美:用Highcharts打造专业级弧线图
javascript·数据库·highcharts·图表开发·弧线图
mclwh15 小时前
关于React-Konva 报:Text components are not supported....错误的问题
前端·react.js
SuperEugene16 小时前
错误处理与 try/catch:真实项目里应该捕什么错?
前端·javascript·面试
禹凕16 小时前
MySQL——基础知识(正则表达式)
数据库·mysql·正则表达式
Amumu1213816 小时前
CSS引入方式
前端·css
我是Superman丶17 小时前
【Demo】✋ 数字手势识别 Html
前端·html
HelloReader17 小时前
Leptos + Tauri 2 前端配置Trunk + SSG + 移动端热重载一次打通(Leptos 0.6 口径)
前端