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

相关推荐
hulkie13 小时前
从 AI 对话应用理解 SSE 流式传输:一项 "老技术" 的新生
前端·人工智能
dobym14 小时前
里程碑五:Elpis框架npm包抽象封装并发布
前端
全栈老石14 小时前
手写无限画布4 —— 从视觉图元到元数据对象
前端·javascript·canvas
牛奶14 小时前
React 底层原理 & 新特性
前端·react.js·面试
parade岁月14 小时前
Tailwind CSS v4 — 当框架猜不透你的心思
前端·css
小明91314 小时前
基于Rokid CXR-M SDK的AI饮食健康助手开发实战
前端
一枚前端小姐姐14 小时前
低代码平台表单设计系统技术分析(实战三)
前端·vue.js·低代码
牛奶14 小时前
ts随笔:面向对象与高级类型
前端·面试·typescript
牛奶14 小时前
React 基础理论 & API 使用
前端·react.js·面试
大漠_w3cpluscom14 小时前
别再死记CSS属性了!真正能让你少走半年弯路的,是这套思维
前端