数据库需要按照标题的时间,或者期数来排序比如:“读者文摘第1期”、“读者文摘第2期”、“读者文摘第3期”,可以不可以直接根据标题来排序,让她做到按期数的倒序排序?
注:标题格式是定死的。aa第x期。ps:直接按照标题升序或者倒序会出现第1期和第10期在一起,排在第二期的后面。
注:标题格式是定死的。aa第x期。ps:直接按照标题升序或者倒序会出现第1期和第10期在一起,排在第二期的后面。
解决方案 »
- oracle动态游标问题 有没办法获取动态游标中的字段信息!!!
- 操作oracle的java程序,windows xp上正常运行, linux上出错
- 字符集US7ASCII导出的数据,迁移到字符集ZHS16GBK的数据库中
- 数据库表被锁死的原因
- 同样的sql,在存储过程里面很慢,单独拿出来运行,却不慢,怎么解决?
- sql---->Oracle
- 如何去掉表前面得用户前缀?
- 请教个imp导入备份中指定表的问题!!急!!
- 请教一个问题,统计商品的最高价格的,sql语句
- 我实在是没法子了----用ORACLE的UTL_SMTP发邮件为何不成功?先谢了。
- 想去改变这个排序,谁有办法,大家一起学习学习。
- 一个查看Oracle会话挂起的问题,请给位老鸟帮忙看下,真的很急~万分感谢
xxxx周报(第9期)
xxxx周报(第7期)
xxxx周报(第5期)
xxxx周报(第3期)
xxxx周报(第2期)
xxxx周报(第20期)
xxxx周报(第1期)
--表名:tb1 字段:col1
select col1, regexp_substr(col1,'[[:digit:]]+')
from tb1
order by regexp_substr(col1,'[[:digit:]]+')
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
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
(
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期)');
实测结果: