Sql Microsoft Access query赢得';不要订购某些数字

Sql Microsoft Access query赢得';不要订购某些数字,sql,ms-access,ms-access-2007,ms-office,Sql,Ms Access,Ms Access 2007,Ms Office,我正在为我的工作修改access应用程序。我正在生成一个由整数1-11表示的类别的报告。这些类别的每个小节都是一个小数点,如1.01、1.02、1.03等。当我生成报告时,从1到9的每个小节都是按升序排列的,即1.01到1.11的顺序排列。当它达到10和11时,类别不按顺序排列,即10.01、10.04、10.03、10.02等。当我将每个小节的值更改为3位数字,如10.1、10.2等时,它们按正确顺序排列。当小数点的任何一边有4个或更多的数字时,它似乎打破了顺序。我一般不太熟悉access或s

我正在为我的工作修改access应用程序。我正在生成一个由整数1-11表示的类别的报告。这些类别的每个小节都是一个小数点,如1.01、1.02、1.03等。当我生成报告时,从1到9的每个小节都是按升序排列的,即1.01到1.11的顺序排列。当它达到10和11时,类别不按顺序排列,即10.01、10.04、10.03、10.02等。当我将每个小节的值更改为3位数字,如10.1、10.2等时,它们按正确顺序排列。当小数点的任何一边有4个或更多的数字时,它似乎打破了顺序。我一般不太熟悉access或sql,所以除了将10和11的值编辑为3位之外,我不确定如何解决这个问题。子节的编号存储在文本字段类型中。我把它改成了数字和货币,两者都没有改变订单。有人知道为什么会这样吗?如果我遗漏了任何重要信息,我道歉。请让我知道,如果有任何额外的细节,我可以提供

当您将数字存储为字符串并希望对其排序时,可以使用以下技巧:

order by len(category), category