varchar类型字段排序混乱问题
Posted BubbleSort
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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会报错,可能是与精确度有关,需要深入研究,如果有了解这方面的可以评论赐教,谢谢!
以上是关于varchar类型字段排序混乱问题的主要内容,如果未能解决你的问题,请参考以下文章
(转)mysql数据库中存储数字字段时,选择int和varchar的区别