1

可能是个愚蠢的问题,

但是如果我想通过一个名为 的字段进行排序CODE,那么它的排序如下:

1, 101, 102, 1010, 2, 201, 2003

我想像这样订购它们:

1, 2, 101, 102, 201, 1010, 2003

代码字段是:VAR(4)。(Var,因为 INT 将零作为起始数字切断,这使得 0110 变为 110,这不好。)我正在订购:ORDER BY code ASC

4

2 回答 2

1

如果您的代码数据类型是 varchar 并且您使用以下命令对数据进行排序:“order by code asc”,则数据的顺序将基于 ASCII。尝试使用:“按长度排序(代码),代码”

于 2012-11-12T13:11:58.460 回答
0
SELECT CODE FROM tableName ORDER BY CONVERT(INT,CODE) ASC;
于 2012-11-12T13:11:45.713 回答