MySQL中字段varchar和int排序的区别

来源:互联网 发布:信捷p乚c编程软件下载 编辑:程序博客网 时间:2024/05/21 08:55

首先我们建立一个简单的数据表,这个表只有两个字段,ID和a,a字段的类型是int类型。
这里写图片描述
我先的需求是对a字段进行正序排列

SELECT * FROM `test` ORDER BY `a` ASC;

这个时候我们得到了想要的数据,如下图
这里写图片描述
可是小童鞋,将a字段建成了varchar类型,这个时候我们正序查询,结果如下图
这里写图片描述
这个时候我们发现数据不是按照我们想要的顺序进行排练,而是按照第一位的数值大小进行排列,其实原因很简单,正如人的书写习惯,从左往右,字符串的比对也是从左往右,逐一进行大小比对,21作为字符串而不是整形数字时,它的首位2要比1大,所以作为最大字符被排列在了最后。

0 0
原创粉丝点击