mysql对数值类型字符串进行排序

时间:2022-07-25
本文章向大家介绍mysql对数值类型字符串进行排序,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

mysql对数值类型字符串进行排序

排序

有时会遇到这种需求,对数值型的字符串进行排序

在默认情况下使用order by 字段名称 desc/asc 进行排序的时候,mysql进行的排序规则是按照ASCII码进行排序的,并不会自动的识别出这些数据是数值,就会出现比如要排序的字段值是1,2,3,11,12,排序完的结果会变成1,11,12,2,3,

很显然,这不是我们想要的,通过查阅资料,发现了一下三种方式可以使用

select * from 表名  ORDER BY `数值型字符串字段名`*1;  
select * from 表名  ORDER BY `数值型字符串字段名`+0; 
select * from 表名  ORDER BY CAST(数值型字符串字段名 AS DECIMAL);