1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| with
adresse as (
select '03D3/03/11' as champ from dual UNION ALL
select '03D3/03/101' from dual UNION ALL
select '03D4/03/10' as champ from dual UNION ALL
select '03D4/03/11' from dual UNION ALL
select '03D4/03/101' from dual
),
req as (
select
SUBSTR(champ,0,INSTR(champ, '/', 1, 2)) as part1,
SUBSTR(champ,INSTR(champ, '/', 1, 2)+1 ,length(champ)) as part2
from adresse
)
select part1||part2 as champ
from req , (select max(length(part2)) lg from req) reqLong
order by part1,reverse(rpad(part2,reqLong.lg,0)) |
Partager