Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/10/2008, 22:04
K-SuMa
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: ordenar bien en mysql

Cita:
Iniciado por frasko01 Ver Mensaje
Hola amigos.

He visto otro tema en el foro que explicais que para que se ordenen los numeros en mysql se guardan como TINYINT y solucionado, pero... yo necesito ordenar un varchar que tiene algo así:

I.1.1
I.1.10
I.1.2...........

Y no le puedo poner un cero delante a cada uno, no queda nada bien.

Muchas gracias. Un saludo.
Puedes intentar esto:

select campo from prueba
order by SUBSTRING_INDEX(campo, '.', 1), /* aqui ordenas los numero romanos */
cast(SUBSTRING_INDEX(SUBSTRING_INDEX(campo, '.', -2),'.',1) as decimal), /* extraemos los numeros del segundo nivel y los converitmos en numeros */
cast(SUBSTRING_INDEX(campo, '.', -1) as decimal) /* extraemos los numero del tercer nivel y los convertimos en numero */

Salu2,

Última edición por K-SuMa; 15/10/2008 a las 22:57