mysql:字符串的百分比数据排序

有一组数据需要按照百分比排序,但是例如23.52%是存为字符串的,而不是0.2352,如果直接排序是按照字母排序。

考虑先去掉百分号

去掉百分号,即去掉最后一个字符,方法为
substring(columnName,1,length(colunName)-1),这样去掉了最后一个字符,如果以他排序,则为:

1
select * from Table order by substring(columnName,1,length(colunName)-1);

但是这样做依旧是按照字母排序,因为还是个字符串,所以需要转化为数字。

转化数字简单方法

1
select * from Table order by columnName+0;

这样就将字段强转为数字类型了,所以如果是按照百分比的数字顺序排序,可以写为:

1
select * from Table order by substring(columnName,1,length(columnName)-1)+0;

-------------本文结束 感谢您的阅读-------------