在数据库表中我们常常要根据某个字段来排序,这个字段定义为字符类,但里面存的却是数字,例如主键id。
查询出来的数据如果根据id来排序得到的结果是这样的:
select * from user order by id
例如user表中有个name字段,保存的数据是M456,M123
这时候我们只要这样:
SELECT *,substr(name,2,length(name)) as ff FROM `user ` ORDER BY ff+0;或
SELECT *,substr(name,2,length(name)) as ff FROM `user ` ORDER BY ff+0 code*1;
就按数据的大小排序了。