mysql数据库,把数值型的写成varchar类型 ,其实应该建为int的。因为我只允许输出数字。发现排序有问题。下面简单说一下MySQL的varchar排序问题。
下面,我从数据库里面以number排一下序,大家来看一下排序后的结果

很明显,我想要的结果应该是 1,2,5,10,21 这样的。但是这个2排在了10的后面。按照字符串来排的。其实我是想把它当做数值来排。
解决方案
1、使用number+0之后再排序,问题解决了。

2、使用-number之后再排序,问题解决了。但是这种方式会按照意想的方式排序,因为将其实做法是将number转为了负数 。

3、使用MySQL函数CAST:
