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

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