Sac*_*n R 0 mysql sql sorting field
我有一个类型的列VARCHAR
,存储数字,如10,11,16.5,24,43,12,100等.
我想订购这些字段,但它的排序如下:
10
11
12
16.5
100
24
43
Run Code Online (Sandbox Code Playgroud)
我想要这个结果:
10
11
12
16.5
24
43
100
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
VARCHAR
是一个字符串类型,所以它按字母顺序排序,这是预期的行为.如果可能,您应该将列更改为数字类型.如果这不可能,您可以将值转换为如此数字:
SELECT ... ORDER BY CAST(column_name AS DECIMAL)
但是,如果数据库中有很多行,这将影响您的性能.