日期:2014-05-17  浏览次数:20711 次

字符串字段排序问题。。。
有个表的某字段里放的都是字母串。比如:abc Abc等等。

现在order by的结果是这样的:

A
B
C
a
b
c

就是大写都比小写靠前,大小写各自内部按字母表顺序来。

想弄成这样:
a
A
b
B
c
C

就是同字母小写比大写考前,不同字母按字母表顺序来。

不知要改哪里

------解决方案--------------------
Order by upper(col),col desc 
------解决方案--------------------
这个……当然是不行了

order by这东西,系统当然是严格按照自己的规则进行了

小写字母比大些字母的ascii码要大,所以默认是排在后面的。

假设你能通过某个参数将排序改为你需要的结果,可你有没有考虑过,其实你的应用中绝大多数排序都应该按照正常的顺序进行的。你改过之后虽然当前这个应用对了,其他的却全都错了……

另外:【一个一个查询语句地改】怎么就不可能了?!
------解决方案--------------------
Order by lower(字段)  或 Order by  upper(字段)
------解决方案--------------------
为了提高效率,可以做函数索引