From: | Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar> |
---|---|
To: | elcotorro(at)gmail(dot)com,pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: comportamiento ex traño |
Date: | 2009-05-03 14:42:12 |
Message-ID: | 20090503143126.M75817@fcm.unc.edu.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola Federico...
On Sun, 3 May 2009 11:40:32 -0200, elcotorro wrote
> hola, los molesto por el siguiente caso
> tengo una tabla con un campo character var de 20
> en la cual tengo 2 registros con los siguientes valores
> " 900730" y
> " 999"
> ambos tamaño de ambos es de 20 caracteres completados a la derecha
> restando el len del numero
El problema está en el tipo de datos. ¿Para qué poner un campo de caracteres
cuando vas a almacenar números?. Podrías tranquilamente declararlo como un
bigint y el ordenamiento sería correcto:
> si pido el max de exe campo...... me sale " 999"
Exactamente. Hice la prueba:
seba=# CREATE TEMP TABLE mitablita(micampito varchar(20));
CREATE TABLE
seba=# INSERT INTO mitablita VALUES(' 900730'),('
999');
INSERT 0 2
seba=# SELECT MAX(micampito) FROM mitablita ;
max
----------------------
999
(1 fila)
> 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)
Pero como te decía antes, vos estás esperando que trate a los números como
números, pero en realidad los está tratando como cadenas de caracteres. Lo
podrías hacer es castear indicando que son números:
seba=# SELECT MAX(micampito::numeric) FROM mitablita ;
max
--------
900730
(1 fila)
Pero te ahorrarías éste trabajo indicando correctamente el tipo de datos.
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).
> muchas gracias por su atencion
Saludos...
-
-------------------------------------------
Sebastián Villalba
A. Gestión Informática
Facultad de Cs. Médicas
U.N.C. - Argentina
-------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2009-05-03 18:10:07 | Re: [pgsql-es-ayuda] comportamiento extraño |
Previous Message | Sebastián Villalba | 2009-05-03 13:56:45 | Re: comportamiento ex traño |