O uso da função `TO_CHAR` em um `ORDER BY` quase sempre é um erro. O valor da coluna será ordenado alfabeticamente em vez de ser ordenado de acordo com o tipo de dados da coluna.

## Código em desconformidade

Supondo que temos os dados abaixo na tabela `EMP`:

empno | hiredate
1 | 2019-10-01
5 | 2019-10-10
15 | 2018-10-02
20 | 2018-10-20

As consultas abaixo retornam um resultado indesejado:

`select empno from emp order by to_char(empno);`

empno
1
15
20
5

`select hiredate from emp order by to_char(hiredate, 'dd-mm-rrrr');`

hiredate
01-OCT-19
02-OCT-18
10-OCT-19
20-OCT-18

## Código correto

Para ordernar essa colunas corretamente precisamos remover a chamada para `TO_CHAR`.

`select empno from emp order by empno;`

empno
1
5
15
20

`select hiredate from emp order by hiredate;`

hiredate
02-OCT-18
20-OCT-18
01-OCT-19
10-OCT-19