Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Tamaño

From: "JucaviLst" <jucavilst(at)elicubs(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Tamaño
Date: 2005-10-05 14:33:56
Message-ID: 000701c5c9ba$e147b440$04010d9d@censis01
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Muchas gracias Alvaro, excelente explicación.

Cordial saludo
Juan Carlos Villalobos C

"Los hábitos son el mejor de los sirvientes o el peor de los amos"
Nathaniel Emmons

----- Original Message -----
From: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>
To: "JucaviLst" <jucavilst(at)elicubs(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Wednesday, October 05, 2005 8:27 AM
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Tamaño

> On Tue, Oct 04, 2005 at 03:37:41PM -0500, JucaviLst wrote:
> > Alvaro, muchas gracias por la información.
> > No sabia q el tipo numeric era mas lento que los otros tipos.
> > Abusando de tu colaboración te pregunto para aclarar mas: volví a
revisar la
> > documentación acerca de los tipos numéricos, los INT2, INT4, INT8 dicen
> > "fixed precision".
>
> En este caso no solo son "fixed precision" sino que ademas no admiten
> decimales, y tienen un rango limitado (int4 llega un poco mas alla de
> los dos mil millones, por ejemplo, a ambos lados del cero). Difieren en
> la cantidad de bits para almacenar el numero: int4 (tambien conocido
> como integer) usa 32 bits, int2 usa 16, int8 (bigint) usa 64.
>
> > Los FLOAT4 y FLOAT8 dicen "variable precision"
>
> Estos son de "coma flotante". Pueden almacenar numeros muy grandes o
> muy pequeños, pero pueden perder precision.
>
> > y NUMERIC y DECIMAL dicen "user specified precision".
>
> DECIMAL es un alias de NUMERIC.
>
> > Lo de fixed precision significa que si almaceno 45.14, en la BD queda
> > como decimal los .14 y no aproximaciones como 45.1399999999??
>
> No puedes guardar 45.14 en un campo INT. Puedes hacerlo en FLOAT (bajo
> riesgo de perder precision) en NUMERIC (pagando en rendimiento).
>
> > ¿Qué tipo usarias si tienes q almacenar un numero de documento q no
lleva
> > decimales, por ej 1.890.478.477 ?
>
> INTEGER o BIGINT.
>
> > ¿Que tipo usarias si debes almacenar precios, por ej $ 145.789.547,48 ?
>
> NUMERIC.
>
> > ¿En que casos usarias float, decimal y numeric?
>
> Usaria float o bigfloat si tuviera que almacenar numeros cuya precision
> no me importa mucho, por ej. una lectura de un sensor. Usaria NUMERIC
> cuando la precision es fundamental, por ej. con dinero o con los
> resultados de un censo o estado de inventario (pero no para los reportes
> estadisticos del inventario).
>
> --
> Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 17.7", W 73º 14'
26.8"
> "Use it up, wear it out, make it do, or do without"

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-10-05 14:40:37 Re: Procedimiento almacenado
Previous Message Luis Flores soberon 2005-10-05 14:18:17 Procedimiento almacenado