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

猜你喜欢

转载自www.cnblogs.com/zzb-yp/p/11245713.html