El 3 de mayo de 2009 13:10, Jaime Casanova
<jcasa...@systemguards.com.ec>escribió:

> 2009/5/3 Sebastián Villalba <sebast...@fcm.unc.edu.ar>:
> >
> >> y si ordeno por ese campo lo ordena mal al igual que el max
> >
> > Bueno, eso no es así en mi caso:
> >
> > seba=# SELECT * FROM mitablita ORDER BY micampito;
> >      micampito
> > ----------------------
> >               900730
> >                  999
> > (2 filas)
> >
>
> eso es porque los caracteres se ordenan de forma diferente dependiendo
> del locale...
>
> >
> > Pero te ahorrarías éste trabajo indicando correctamente el tipo de datos.
>
> de hecho es lo unico logico... guardar numeros como si fuera una
> cadena de caracteres pero queriendo que se comporten como numeros es
> un poco absurdo
>


pero se puede solucionar con:

 *to_number(a,b)*


SELECT * FROM mitablita ORDER BY micampito;

cambiar por:


SELECT * FROM mitablita ORDER BY *to_number(micampito,'000000000');**
*


JImmy



>
> > Aparte que no estoy seguro si funcionará en Postgres >= 8.3 (yo estoy
> > probándolo en 8.2 y casualmente en 8.3 se introdujeron cambios con
> respecto a
> > éste tipo de casteos).
> >
>
> se afecta solo a los casteos implicitos, los casteos explicitos funcionan
> igual
>
>
> --
> Atentamente,
> Jaime Casanova
> Soporte y capacitación de PostgreSQL
> Asesoría y desarrollo de sistemas
> Guayaquil - Ecuador
> Cel. +59387171157
> --
> TIP 1: para suscribirte y desuscribirte, visita
> http://archives.postgresql.org/pgsql-es-ayuda
>

Responder a