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

相关推荐
恪心与java2 分钟前
mysql
数据库·mysql·oracle
程序员阿明4 分钟前
vite运行只能访问localhost解决办法
前端·vue
前端 贾公子7 分钟前
uniapp -- 验证码倒计时按钮组件
前端·vue.js·uni-app
淡笑沐白13 分钟前
AJAX技术全解析:从基础到最佳实践
前端·ajax
龙正哲33 分钟前
如何在Firefox火狐浏览器里-安装梦精灵AI提示词管理工具
前端·firefox
徐徐同学44 分钟前
轻量级Web画板Paint Board如何本地部署与随时随地在线绘画分享
前端
LuckyLay1 小时前
Vue百日学习计划Day4-8——Gemini版
前端·vue.js·学习
八戒社1 小时前
WooCommerce短代码Shortcodes使用方法
前端·wordpress·woocommerce
小二·1 小时前
ECharts:数据可视化的强大引擎
前端·信息可视化·echarts
蓝婷儿2 小时前
第二章:CSS秘典 · 色彩与布局的力量
前端·css