¿Lo más rápido, lo más simple? usa * 1
select *
from tbl
order by number_as_char * 1
Las otras razones para usar * 1
es que puede
- sobrevive a algunos percances horrendos con subdesbordamiento (precisión decimal reducida al elegir a qué lanzar)
- trabaja (e ignora) columnas de datos puramente no numéricos
- elimina las partes numéricas de los datos alfanuméricos, como 123A, 124A, 125A