排序存储在MYSQL数据库的文本字段中的数字

时间:2012-07-30 10:50:20

标签: mysql asp-classic

我有一个带有文本字段的mySQL数据库,其中存储了一个数字。 我需要生成一个按数字降序排序的记录集。 这工作正常,直到我们得到大于10的数字,即

9
8
7
6
5
4
3
2
10
1

有一种简单的方法可以正确排序吗? (是的,我知道我应该在数字领域有数字,但我正在使用我所拥有的:))

我在asp / vbscript / jquery页面上使用结果,所以即使是客户端解决方案也可行......

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

ORDER BY ABS(text_column) DESC

或者,如果你还需要处理负值:

ORDER BY CAST(text_column AS SIGNED) DESC

答案 1 :(得分:0)

您需要使用MySQL中的INTEGER函数将其强制转换为CAST

ORDER BY CAST(text_column AS UNSIGNED INTEGER)

答案 2 :(得分:0)

试试这个 -

... ORDER BY text_column * 1