日期:2014-05-19  浏览次数:20561 次

排序出错!.和-在排序中不可理解的问题!
假如表里有一个字段有如下6个值:(其中-不是下划线)
1)-   2)$   3).   4)F-25   5)F$25   6)F.25   。对以上值进行升序排序
可是排序结果却是:
-
$
.
F$25
F.25
F-25
不知是否出乎你的意料,错误就体现在“-”上,不知什么原因,恳请高手解释一下?




------解决方案--------------------
create table T(col nvarchar(10))
insert T select '- '
union all select '$ '
union all select '. '
union all select 'F-25 '
union all select 'F$25 '
union all select 'F.25 '

select * from T order by col
------解决方案--------------------
这个是排序规则上的问题:

select * from [Table] order by col COLLATE Chinese_PRC_BIN

这样就一致了

------解决方案--------------------
路过。。。学习。。接分。。