读书人

amp;#215;amp;#215;超急打倒微软求解排序

发布时间: 2012-03-03 15:33:03 作者: rapoo

××超急,打倒微软,求解,排序问题××
ACCESS数据库里,我要调出ID字段成这样的效果,但是不知道怎么排序:
1
2
3
4
5
6
7
8
9a
9b
10
11
12
13
ACCESS自动排序,是这样排的:
1
10
11
12
13
2
3
4
5
6
7
8
9a
9b
请问这个SQL语句应该怎么写,求SQL大侠!

[解决办法]
很明显,你这个字段是char类型的,无能为力
[解决办法]
你是想按16进制数排序吗?
[解决办法]
rodgerkong(Rodger) 说得对,字符串比较嘛,
[解决办法]
--建立测试数据
create table t(a varchar2(100));
/
insert into t
select '1 ' from dual union all
select '2 ' from dual union all
select '11 ' from dual union all
select '9 ' from dual union all
select '22 ' from dual;
/
--执行查询
select * from t order by a;
--输出结果
1
11
2
22
9
--执行查询
select * from t order by to_number(a);
--输出结果
1
2
9
11
22


[解决办法]
sqlserver2000中可以使用CAST(a AS INT)
[解决办法]
看错了,没有注意到还有字母
[解决办法]
补齐长度
[解决办法]
转换为数字
order by cint(ID)

读书人网 >.NET

热点推荐