这样的场景:字符串类型的字段,里面有数字,也有字母,也有中文
现在要按照数字排序:
select 字段名 from 表名 order by 字段名+0;
select 字段名 from 表名 order by 字段名*1;
select 字段名 from 表名 order by CAST(字段名 as SIGNED);
select 字段名 from 表名 order by CONVERT(字段名, SIGNED);
如果要求按照中文排序:
# UTF8 默认校对集是 utf8_general_ci , 它不是按照中文来的。你需要强制让MySQL按中文来排序
select 字段名 from 表名 order by CONVERT(字段名 USING gbk);