比较MySQL varchar

时间:2012-01-16 19:43:40

标签: php mysql

当我在数据库中的列上对desc / asc进行排序时,我遇到了一个问题,它会像这样对它进行排序。

9980
91
883
51
507
460
286
243
23
2131

现在我认为这是因为我制作了colum varchar。无论如何要将它正确排序而不将列更改为int?

由于

2 个答案:

答案 0 :(得分:4)

如果您希望对项目进行排序,就好像它们是数字一样,cast将它们变为整数:

ORDER BY CAST (field AS SIGNED INTEGER)

答案 1 :(得分:1)

如果你必须:

ORDER BY CAST(`YOUR_COL` AS SIGNED)

表示DESC

ORDER BY CAST(`YOUR_COL` AS SIGNED) DESC