consulta ordenada

ana
15 de Junio del 2006
buenas,

Tengo un cursor el cual me recupera una serie de registros del tipo :
M563.1002
M563.812
M563.850
M580
M600
El caso es que necesito que el cursor me devuelva los registros ordenados de menor a mayor.
Yo lo que tengo hecho es algo que me convierta a númerico la cadena de caracteres pero el problema es que al haber decimales me toma como menor el MAD563.1002, que el MAD563.812 y lo que tendría que hacer el valorar lo ke hay detras del punto 1002>812.
Si quito el decimal me lo ordena bien pero los registros que llevaban el decimal me los posiciona los últimos porque se convierten el los numeros mayores
Alguien puede darme alguna idea??
gracias.
Saludos
ana.


MARIOLA
15 de Junio del 2006
Es que 563.812 es mayor que 563.1002,

si lo quieres es que ordene los numeros como si fueran dos campos diferentes separalos en dos campos uno hasta el punto y otro desde el punto y los ordenas por ambos.

No sé si te refieres a eso


Schezard
15 de Junio del 2006
Si lo que quieres es ordenar por lo que esta a partir del punto y sin complicarte demasiado....

order by substr(column_name,6) desc

en esto, he cortado a partir del caracter . que en los ejemplos que diste esta siempre en la misma posicion, y ordenas por el resultado de ese string... puedes complicarte tanto como quieras....

Prueba por ahi...