Re: Obtener resultados no enteros en una división entre enteros.

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.

In response to

Browse pgsql-es-ayuda by date

  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