我们可能经常会给varchar类型的字段存入数值,此时进行order by操作输出的结果可能是:
select * from student order by score
13
26
4
70
8
很明显这不是我们想要的结果,mysql中varchar类型默认会按照ASCII码进行比较
解决办法:在需要排序的字段后增加 *1 或者+0
select * from student order by score+0
select * from student order by score*1
此时就可以输出我们想要的结果了
4
8
13
26
70