haces un parseo a integer

select  id,titulo,indice::integer as in from tabla order by in asc

El 30 de septiembre de 2010 11:22, Rodrigo Ruiz <[email protected]> escribió:

> Estimados,
> la siguiente representa parte del resultado de una consulta sobre una tabla
> y que se ordena por el campo 'indice' de forma ascendente.
>
> # select * from tabla order by indice asc;
>
>  id | titulo   | indice
> ----+----------+--------
> 106 | texto 4  | 1.1
> 115 | texto 13 | 1.10
> 116 | texto 1  | 1.11
> 107 | texto 5  | 1.2
> 108 | texto 6  | 1.3
> 109 | texto 7  | 1.4
> 110 | texto 8  | 1.5
> 111 | texto 9  | 1.6
> 112 | texto 10 | 1.7
> 113 | texto 11 | 1.8
> 114 | texto 12 | 1.9
> 117 | texto 2  | 2.1
> 118 | texto 3  | 2.2
>
> El campo indice es un varchar, si notan, luego del punto 1.1 salta al 1.10,
> el cual necesito se presente siguiendo al punto 1.9.
> Intenté pasando el campo a numérico con cast, sin embargo se me complicó,
> pues podrían existir puntos del tipo 1.2.6 o más detallado aún.
> La pregunta ya la podrán adivinar, cómo podría obtener el resultado de la
> consulta de manera ordenada por índice?
>
> Saludos cordiales.-
>
> --
> Rodrigo Ruiz Fuentes
> -
> Enviado a la lista de correo pgsql-es-ayuda ([email protected]
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>

Responder a