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

相关推荐
淹死在鱼塘的程序猿7 分钟前
🚀 告别"一次性聊天":揭秘让 AI 智能体越用越聪明的秘密武器 —— Skills
前端·人工智能·agent
解救女汉子7 分钟前
mysql如何配置元数据锁超时_mysql lock_wait_timeout设置
jvm·数据库·python
掘金安东尼11 分钟前
OpenMUSE 全面详解:非扩散Transformer文生图开源基座(对标GPT Image 2)
前端·javascript·面试
下次再写13 分钟前
Java互联网大厂面试技术问答实战:涵盖Java SE、Spring Boot、微服务及多场景应用
java·数据库·缓存·面试·springboot·microservices·技术问答
白豆五17 分钟前
Redis高级(持久化机制、主从集群、哨兵、分片集群)
数据库·redis·缓存
woniu_buhui_fei18 分钟前
Redis知识整理一
数据库·redis·缓存
~ rainbow~20 分钟前
前端转型全栈(六)——深入浅出:文件上传的原理与进阶
前端·http·文件上传
214396530 分钟前
SQL注入防御技术方案_基于正则表达式的输入清洗
jvm·数据库·python
2401_8323655238 分钟前
SQL窗口函数与递归查询的区别_如何根据场景选择
jvm·数据库·python
u01091476038 分钟前
c++如何处理文件路径中由于不规范的连续斜杠导致的路径解析错误【避坑】
jvm·数据库·python