数据库中字段值是这样的
A.1
A.10
A.11
A.12
A.13
A.14
A.15
A.2
A.20
A.21
A.22
A.23
A.3
A.30
A.31
A.4
A.5
A.6
A.7
A.8
A.9
如何按下面这种方式排序,就是拆分开,按后面的数字排序
A.1
A.2
A.3
A.4
A.5
A.6
A.7
A.8
A.9
A.10
A.11
A.12
A.13
A.14
A.15
A.20
A.21
A.22
A.23
A.30
A.31
A.1
A.10
A.11
A.12
A.13
A.14
A.15
A.2
A.20
A.21
A.22
A.23
A.3
A.30
A.31
A.4
A.5
A.6
A.7
A.8
A.9
如何按下面这种方式排序,就是拆分开,按后面的数字排序
A.1
A.2
A.3
A.4
A.5
A.6
A.7
A.8
A.9
A.10
A.11
A.12
A.13
A.14
A.15
A.20
A.21
A.22
A.23
A.30
A.31
解决方案 »
- sql语句求解
- 数据库里有3000万条数据,取出前50条,机器2G的内存(转)
- oracle 10g创建数据库的时候出错!
- 学习java开发,需要如何掌握数据库oracle?
- oracle 10g 的求助
- 我的oracle 企业管理器左边的导航栏里只有一个数据库,没有事件、作业、监听程序等啊??怎么回事啊??
- 数据库中查询如何提高执行效率??(不能用存储过程)
- 请问在Oracle中的嵌套表有什么用处,怎么定义嵌套表,怎么使用嵌套表
- 100分,紧急,有关oracle CLOB 的问题,请问如何将CLob的类型的字段插入到数据库中?除了使用Stream来插入,
- 字符集us7ascii和zhs16gbk(在线)
- 求助,怎么查询执行过的SQL?
- 求pl/sql developer 中一个简单的设置
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7369 SMITH CLERK 7902 17-12月-80 800 20
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
7900 JAMES CLERK 7698 03-12月-81 950 30
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7902 FORD ANALYST 7566 03-12月-81 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10已选择14行。
insert into t values('A.1');
insert into t values('A.4');
insert into t values('A.3');
insert into t values('A.2');
insert into t values('B.3');
insert into t values('B.2');
insert into t values('B.1');
insert into t values('B.4');
insert into t values('C.2');
insert into t values('C.3');
insert into t values('C.1');
COMMIT;
select * from t order by substr(col1,instr(col1,'.')-1,1) asc ,substr(col1,instr(col1,'.')+1,1) ;
SQL> select * from t;
COL1
----------
A.1
A.4
A.3
A.2
B.3
B.2
B.1
B.4
C.2
C.3
C.1
11 rows selected
SQL> select * from t order by substr(col1,instr(col1,'.')-1,1) asc ,substr(col1,instr(col1,'.')+1,1) ;
COL1
----------
A.1
A.2
A.3
A.4
B.1
B.2
B.3
B.4
C.1
C.2
C.3
11 rows selected