order by 排序的问题

数据表中有一字段A char(10)
如下数据
A
1
2
3
4
5
6
7
8
9
10
11
..

sql:select * from mytable order by a
结果如下 :
A
1
10
11
..
2
我想要从大到小的排列如何办?如:
1
2
3
..

---------------------------------------------------------------

select * from yourtable order by cast(a as int)
---------------------------------------------------------------

对,你的字段是字符型的,要变成int的才行
---------------------------------------------------------------

order by cast(substring(a,1,charindex('-',a)-1) as int),a

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus