varchar类型字段排序混乱问题

做权限控制时,菜单需要固定顺序,由于用的排序字段resPrio是varchar类型,出来的顺序1之后接着直接是11,12,13,所以需要将resPrio转成数字类型才可以,这里面提供两个方法:

1. order by (resPrio+0) 运算之后获得的直接是int类型

2.order by CAST(resPrio as decimal)  利用cast函数直接转换,不过转换过程中发现,如果用cast直接将varchar转成int 和bigint会报错,可能是与精确度有关,需要深入研究,如果有了解这方面的可以评论赐教,谢谢!

posted @ 2018-06-01 11:10  CheerwayRen  阅读(324)  评论(0编辑  收藏  举报