From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Obtener resultados no enteros en una división entre enteros. |
Date: | 2006-10-03 02:25:01 |
Message-ID: | 20061003022501.GC11361@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Yessica Brinkmann escribió:
> Buenos días.
> Tengo el siguiente problema, que agradeceré mucho si alguno de ustedes
> me de una pista para resolverlo:
> Tengo datos enteros en una tabla, y me gustaría que luego de dividir
> dichos datos entre un número entero, poder obtener resultados
> decimales.
> Por ejemplo:
> si tengo la siguiente estructura en una tabla
>
> CREATE TABLE comercializacion_detalle
> (
> cod_comercializacion int2 NOT NULL,
> cod_rubro int2 NOT NULL,
> cantidad float4 NOT NULL,
> )
> y hago el siguiente query...
> select cod_rubro * 100/26
> si cod-rubro es por ejemplo 4, obtengo solamente como resultado 15, es
> decir el número entero, y no con sus decimales correspondientes.
> ¿Alguien tiene alguna idea de cómo puedo hacer para obtener 15,38 por
> ejemplo, que es un resultado un poco más exacto?
Conviertelo a numeric. Dependiendo de la naturaleza del numero, es poco
recomendable usar punto flotante como te sugirieron mas abajo en el
thread, porque pierdes precision rapidamente. Usa float solo si no te
importa esta perdida de precision.
Ahora, si cod_rubro es, como parece ser, un codigo identificador de
algo, no tiene mucho sentido usarlo en operaciones aritmeticas ...
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Sebastián Villalba | 2006-10-03 02:35:30 | Re: Información sobre CUBE |
Previous Message | Alvaro Herrera | 2006-10-03 02:10:59 | Re: Cluster Slony |