Oracle 排序我现在有一个这样的问题:
比如我有数据如下:
10
1001
1002
1003
1004
20
2001
2002
2003
.....
我要排序成如下格式:
1001
1002
1003
1004
10
2001
2002
2003
20
...
请好心的各位大吓,帮帮我
在线等候在吓的回复。。
谢谢!
比如我有数据如下:
10
1001
1002
1003
1004
20
2001
2002
2003
.....
我要排序成如下格式:
1001
1002
1003
1004
10
2001
2002
2003
20
...
请好心的各位大吓,帮帮我
在线等候在吓的回复。。
谢谢!
2 select 10 id from dual union all
3 select 1001 from dual union all
4 select 1002 from dual union all
5 select 1003 from dual union all
6 select 1004 from dual union all
7 select 20 from dual union all
8 select 2001 from dual union all
9 select 2002 from dual union all
10 select 2003 from dual
11 )
12 select id from table1 order by substr(id,0,1),length(id) desc,substr(id,length(id),1);
ID
----------
1001
1002
1003
1004
10
2001
2002
2003
20
9 rows selected
08:27:48 2 select 10 id from dual
08:27:48 3 union all
08:27:48 4 select 1001 from dual
08:27:48 5 union all
08:27:48 6 select 1002 from dual
08:27:48 7 union all
08:27:48 8 select 1003 from dual
08:27:48 9 union all
08:27:48 10 select 1004 from dual
08:27:48 11 union all
08:27:48 12 select 20 from dual
08:27:48 13 union all
08:27:48 14 select 2001 from dual
08:27:48 15 union all
08:27:48 16 select 2002 from dual
08:27:48 17 union all
08:27:48 18 select 2003 from dual
08:27:48 19 )
08:27:48 20 select to_char(id) ID from tb order by RPAD(id,4,'9');ID
----------------------------------------
1001
1002
1003
1004
10
2001
2002
2003
20已选择9行。已用时间: 00: 00: 00.01