我找不到一种方法来将varchar列排序为float.这是我的SQL请求:
SELECT guid, number FROM table ORDER BY 'CAST(number AS FLOAT) DESC'
Run Code Online (Sandbox Code Playgroud)
"数字"列的定义如下:
number varchar(20) ascii_general_ci
Run Code Online (Sandbox Code Playgroud)
此列中为我的测试定义的值为:
0.00
200.00
20.00
100.00
Run Code Online (Sandbox Code Playgroud)
MySQL完全忽略了CAST运算符并按guid对列进行排序......
MySQL中是否有错误或者我做错了什么?
Dev*_*art 33
尝试这个技巧(有助于将字符串排序为数字) -
SELECT guid, number FROM table ORDER BY number * 1 DESC
Run Code Online (Sandbox Code Playgroud)
它将帮助MySQL将字符串转换为数字.
另一种方案 -
...CAST(value as DECIMAL(10,5))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27929 次 |
| 最近记录: |