sábado, 27 de septiembre de 2014

Al ordenar un campo de tipo texto que contiene números el resultado puede no ser el esperado. Por ejemplo, tenemos una tabla de corredores de maratón en la que el dorsal, por alguna razón que no viene al caso, es de tipo texto.

Si hiciéramos una ordenación normal veríamos que el orden de los corredores no es el esperado. Pues el dorsal numero 2, por ejemplo, quedaría por detrás de todos lo que empiezan por 1.


Ejemplo: 

SELECT * FROM corredores ORDER BY dorsal

La sentencia anterior nos daría como resultado los corredores ordenados de la siguiente forma: 1, 10, 11, 12, 13… 2, 20, 21…

Una solución para ordenar los corredores de forma natural sería:

SELECT * FROM corredores ORDER BY length(dorsal), dorsal


Categories:

0 comentarios:

Publicar un comentario

Subscribe to RSS Feed