Re: Para campos cantidades y moneda, ¿cuál tipo de dato conviene más?

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Ruben Guinez <rubenvive(at)gmail(dot)com>
Cc: Ayuda Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Para campos cantidades y moneda, ¿cuál tipo de dato conviene más?
Date: 2007-04-21 03:05:33
Message-ID: 20070421030533.GH13292@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ruben Guinez escribió:
> Hola lista.
> Para los más antiguos en PostgreSQL: quisiera saber su opinión
> respecto a qué tipo de dato conviene usar para manejar cantidades y
> valores monetarios. Es decir que tras operar con dichos campos en
> distintas operaciones matemáticas, ¿cuál conviene más usar?, serán los
> : decimal, numeric o double precision ?

Lo primero y mas importante es que no debes usar punto flotante para
almacenar moneda. "double precision" es de punto flotante asi que
olvidalo.

Decimal es un alias para numeric.

Por lo tanto te queda una sola alternativa, que es la correcta ;-)

> Y aprovecho de preguntar, ¿
> por qué tan corto el rango de valores almacenables en el tipo de datos
> money que va desde -21474836.48 hasta 21474836.47 ?.

Porque utilizan un tipo entero de 32 bits, desplazado en 2 decimales
para permitir guardar, eh, dos decimales que es lo que se usa en casi
todo el mundo. En 8.3 (o fue en 8.2? no me acuerdo) se usa una
representacion de 64 bits, que es mucho mas practica porque el rango es
mucho mayor.

Se ha determinado que money es mas rapido que numeric para algunas cosas
(operaciones aritmeticas) y mas lento para otras (input/output). Creo
que si el rango es algo que te complica la decision es facil (quedate
con numeric), pero si el rango es suficiente es mas o menos lo mismo.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-04-21 03:09:14 Re: procedmiento almacenado OT
Previous Message Espartano 2007-04-21 02:46:53 Re: procedmiento almacenado OT