Oracle SQL para classificar números de versão

No Oracle, apenas usando oORDER BY não classifica os números de versão. MinhasVersion_Number campo é declarado comoVARCHAR e eu não posso mudar isso. Por exemplo: As seguintes versões:

1.20  
1.9   
1.18  
1.13  
1.5   
1.11  
2.0  
1.8   
1.3   
1.2   
1.1   
1.0   
1.10  

deve ser classificado como

2.0   
1.20  
1.18  
1.13 
1.11 
1.10  
1.9   
1.8   
1.5  
1.3   
1.2   
1.1 
1.0   

Eu pesquisei várias postagens, mas nenhuma delas parece realmente servir ao meu propósito ou as respostas foram destinadas ao SQL Server, etc, e não à Oracle. Me deparei com esse sql em particular que parecia ter funcionado.

select version_number from mytable 
order by lpad(version_number, 4) desc;

que classificou as versões desta maneira:

1.20    
1.18   
1.13   
1.11   
1.10   
2.0    
1.9    
1.8   
1.5     
1.3    
1.2    
1.1    
1.0    

Eu acredito que esta declaração sql funciona paraSQL Server :

select version_number from mytable 
order by cast ('/' + replace(version_number , '.', '/') + '/' as hierarchyid) desc;

No entanto, isso não funciona com o Oracle. Existe uma alternativa para hierarchyid no Oracle?


Existe alguém que possa criar um SQL para classificar essas versões com precisão?

Eu já vi os posts mencionados abaixo (links em anexo). Então, por favor, não me diga que este post é uma cópia.
Classificação SQL por versão "número", uma sequência de comprimento variável
Como posso classificar uma coluna 'Número da versão' genericamente usando uma consulta do SQL Server
Classificação do número da versão no Sql Server
classificação mysql de números de versão
e muitos mais.

questionAnswers(3)

yourAnswerToTheQuestion