本文主要是介绍在sql中影响排序,但不改变字段值的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在order by 后面使用case … when … else … end:
select sn, eos_date from device_table
ORDER BY case when eos_date = '1970-01-01' then nullelse eos_date endascnulls 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。
这篇关于在sql中影响排序,但不改变字段值的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!