以超过1的长度排序

时间:2015-07-17 23:08:51

标签: mysql sql

我从这个查询得到了奇怪的结果:

SELECT id, nivel, tipo, titulo, texto, ativa 
FROM quests_faq 
ORDER BY nivel ASC;

结果应该是这样的:

5
10
15
20
40
50
55
etc..

相反,它只按第一个数字排序:

10
15
2
30
40
5
55
etc

我的排" nivel"仅包含整数 在这种情况下,我如何才能将命令用于我想要的目的?

2 个答案:

答案 0 :(得分:1)

通过将nivel转换为数字

,此查询可以执行您要查找的内容
SELECT id, nivel, tipo, titulo, texto, ativa
FROM quests_faq
ORDER BY CONVERT( nivel, INTEGER) ASC

答案 1 :(得分:0)

我认为这可能会有所帮助:

SELECT id, nivel FROM quests_faq ORDER BY CAST(id as CHAR(13)) ASC

干杯!