SELECT TRIM(translate(A,'0,1,2,3,4,5,6,7,8,9,-','0,1,2,3,4,5,6,7,8,9,')) AS A FROM B ORDER BY TRIM(translate(A,'0,1,2,3,4,5,6,7,8,9,-','0,1,2,3,4,5,6,7,8,9,'));
解决方案 »
- 为什么我用pl/sql中创建的oracle存储过程都是VALID的 都不能使用
- 求教orcal删除语句!~~
- 问大家个关于日志的问题
- 想实现oracle数据的实时复制!有什么办法??
- ORA-06502: PL/SQL: 数字或值错误,应该不是缓冲区的问题,请帮忙看看,万分感谢...
- 初学ORACLE,大家帮我看一下这个过程错在哪里
- 急,在线等!如何从oracle数据库中导出数据到.txt文件中
- 有一条SQL语句,我死活看不出问题,大家来帮忙,谢谢
- 迷惑……%—……¥%……¥
- 为什么按oracle8一开始就出错
- 请问为什么会出错
- 8i 在 P4上如何装?在线等待,急,急,急,急,急,急,急,急,急,急!!!!
----------
1
2
3
10
11
4
5
9-1
9-2
6
7A
----------
8
8-1
9
9-3
9-4
9-5
12
11-1已选择19行。已用时间: 00: 00: 00.50
15:12:38 jlanzpa817>select * from test_number order by
15:12:44 2 to_number(decode(sign(instr(a,'-')),1,substr(a,1,instr(a,'-')-1),a));A
----------
1
2
3
4
5
6
7
8
8-1
9-1
9-2A
----------
9
9-4
9-5
9-3
10
11
11-1
12已选择19行。已用时间: 00: 00: 00.50
15:17:16 jlanzpa817>select * from test_number order by
15:17:16 2 to_number(decode(sign(instr(a,'-')),1,substr(a,1,instr(a,'-')-1),a)),
15:17:16 3 to_number(decode(sign(instr(a,'-')),1,substr(a,instr(a,'-')+1),0));A
----------
1
2
3
4
5
6
7
8
8-1
9
9-1A
----------
9-2
9-3
9-4
9-5
10
11
11-1
12
','0,1,2,3,4,5,6,7,8,9,'));A
----------
1
10
11
11-1
12
2
3
4
5
6
7A
----------
8
8-1
9
9-1
9-2
9-3
9-4
9-5已选择19行。已用时间: 00: 00: 00.60
15:20:14 jlanzpa817>
你需要转换为mm-dd格式
才能比较大小
下边的代码也只能比较到月
到天时也会出错
你可以模仿着在进行处理
select a from t_temp
order by
decode(substr
(
decode(substr( a || 'x',2,1),
'0',a,'1',a,'2',a,
'-', '0' || a,
'x','0' || a || '-00')
|| 'x',3,1),'x', a || '-00','-', a
)