10居然比2小?(字符串排序规则)

Posted heibaijianpan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10居然比2小?(字符串排序规则)相关的知识,希望对你有一定的参考价值。

建立一张这样的表kk

技术分享图片

常规select数据并按id升序输出,出问题了,10比2小?

技术分享图片

原来,问题出现在创建表时把字段id类型设为char型,这里就涉及到字符串排序规则的问题了。

所谓的字符串排序规则,就是每一位字符都按照ASCII码进行比较,从字符串左边第一个字符开始往后逐位比较的,分出大小就结束比较。

例如,‘1‘<‘10‘,‘10‘<‘2‘<‘20‘<‘5‘。

解决方法就很简单啦,只需要修改字段类型及长度即可

alter table kk modify column id int(alter table 表名 modify column 字段名 类型长度)

 

以上是关于10居然比2小?(字符串排序规则)的主要内容,如果未能解决你的问题,请参考以下文章

排序之冒泡排序-PHP

创建自定义 MySQL 排序规则

51nod 1874字符串排序

Postgresql 排序语言特定字符(排序规则)

51nod.1874字符串排序(STL)

51nod.1874字符串排序(STL)