order by xxx 后跟了 COLLATE Chinese_PRC_BIN 怎么没起作用?(100分)

  • 主题发起人 主题发起人 sjm
  • 开始时间 开始时间
S

sjm

Unregistered / Unconfirmed
GUEST, unregistred user!
我的一个Sql server 2000表有一个levelID文本型字段,内容有:
5_4_1
5_4_2
5_4_3
5_4_4
5_4_5
...
5_4_10
5_4_11
...

但是当我用 select * from table1 order by levelID COLLATE Chinese_PRC_BIN之后,发现查询结果的排序仍然不是我所要的,如:
5_4_1
5_4_10
5_4_12
5_4_13
5_4_2
5_4_3
...


而我想要的应该是:
5_4_1
5_4_2
5_4_3
...
...
5_4_10
5_4_11
5_4_12

请问应该如何解决?谢谢!
 
用 select * from table1 order by levelID COLLATE Chinese_PRC_BIN之后排的序结果就是
5_4_1
5_4_10
5_4_12
5_4_13
5_4_2
5_4_3
因为你的列类型是字符型的, 如果你希望改输出结果有两种方法.一是自定义排序算法,二改变列定义
 
就没有别的好办法吗?
 
后退
顶部