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

相关推荐
anOnion1 分钟前
构建无障碍组件之Window Splitter Pattern
前端·html·交互设计
NotFound48611 分钟前
实战分享Python爬虫,如何实现高效解析 Web of Science 文献数据并导出 CSV
前端·爬虫·python
徐小夕34 分钟前
PDF无限制预览!Jit-Viewer V1.5.0开源文档预览神器正式发布
前端·vue.js·github
a95114164236 分钟前
如何加固SQL集群防注入_实施网络层访问控制策略
jvm·数据库·python
2401_8359568142 分钟前
mysql处理大量更新场景_InnoDB MVCC与MyISAM对比
jvm·数据库·python
WangJunXiang61 小时前
Haproxy搭建Web群集
前端
m0_748920361 小时前
Oracle默认端口被占用如何连接_修改端口号操作教程
jvm·数据库·python
qq_342295821 小时前
Redis怎样按照距离远近排序展示_通过GEORADIUS的ASC参数进行Geo排序
jvm·数据库·python
吴声子夜歌1 小时前
Vue.js——自定义指令
前端·vue.js·flutter
2201_761040591 小时前
C#比较两个二进制文件的差异 C#如何实现一个二进制diff工具
jvm·数据库·python