3,491
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE T159
(
F1 VARCHAR2(20)
);
INSERT INTO T159 VALUES('xxxx周报(第9期)');
INSERT INTO T159 VALUES('xxxx周报(第3期)');
INSERT INTO T159 VALUES('xxxx周报(第2期)');
INSERT INTO T159 VALUES('xxxx周报(第10期)');
INSERT INTO T159 VALUES('xxxx周报(第5期)');
INSERT INTO T159 VALUES('xxxx周报(第7期)');
INSERT INTO T159 VALUES('xxxx周报(第1期)');
INSERT INTO T159 VALUES('xxxx周报(第20期)');
create table test1(col1 nvarchar2(50));
insert into test1 values('读者文摘第5期');
insert into test1 values('读者文摘第3期');
insert into test1 values('读者文摘第6期');
insert into test1 values('读者文摘第10期');
insert into test1 values('读者文摘第11期');
insert into test1 values('读者文摘第2期');
select col1, regexp_substr(col1,'[[:digit:]]+') c_no
from test1
order by to_number(regexp_substr(col1,'[[:digit:]]+'),'99999')
col1 c_no
---------------------------
1 读者文摘第2期 2
2 读者文摘第3期 3
3 读者文摘第5期 5
4 读者文摘第6期 6
5 读者文摘第10期 10
6 读者文摘第11期 11
create table test1(col1 nvarchar2(50));
insert into test1 values('读者文摘第05期');
insert into test1 values('读者文摘第03期');
insert into test1 values('读者文摘第06期');
insert into test1 values('读者文摘第10期');
insert into test1 values('读者文摘第11期');
insert into test1 values('读者文摘第02期');
select col1, regexp_substr(col1,'[[:digit:]]+') c_no
from test1
order by regexp_substr(col1,'[[:digit:]]+')
col1 c_no
---------------------------
1 读者文摘第02期 02
2 读者文摘第03期 03
3 读者文摘第05期 05
4 读者文摘第06期 06
5 读者文摘第10期 10
6 读者文摘第11期 11
--表名:tb1 字段:col1
select col1, regexp_substr(col1,'[[:digit:]]+')
from tb1
order by regexp_substr(col1,'[[:digit:]]+')