bug篇——mysql排序混乱问题


 

上图所示,明明是按照降序排列的,为什么会出现这种混乱的排序呢?

原因:STOREHOUSE_NO这个字段在数据库中储存的类型是VARCHAR,这种类型的字段,mysql在使用order by进行查询时,是根据字符进行排序的,第一个字符大的在前面,依次类推,所以就会出现如上图的排序。

解决:要想得到int类型的排序,执行如下sql语句

select es.STOREHOUSE_NO from ERP_STOREHOUSE es order by es.STOREHOUSE_NO+0 desc

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM