Skip site navigation (1) Skip section navigation (2)

Re: numeric vs real

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: mmiranda(at)americatel(dot)com(dot)sv
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: numeric vs real
Date: 2005-04-27 19:12:37
Message-ID: 20050427191237.GA4700@dcc.uchile.cl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
On Wed, Apr 27, 2005 at 12:18:15PM -0600, mmiranda(at)americatel(dot)com(dot)sv wrote:
> Hola, cual es la opcion recomendada cuando se necesitan numeros bastante
> grandes pero sin decimales, en el manual dice que hacer calculos con valores
> numeric es mas lento que cuando usas real, alguien tiene experiencia
> practica con esto, yo necesito hacer operaciones arimeticas:

bigint?

>  c = a - b
> 
> donde a,b y c son numeros de 25 digitos pero solo enteros, ejemplo
> 
> a = 50300000000000000000000
> b = 50399999999999999999999
> 
> Uso tipo de datos real o numeric?, mi interes principal es rapidez, no
> precision, en este caso creo que no importa mucho ya que no hay redondeo de
> decimales, etc

Ojo que almacenar numeros muy grandes en punto flotante simplemente
mueve la perdida de precision hacia el otro lado de la coma ...  Si
requieres que los numeros se preserven en toda exactitud (aunque sea sin
decimales), no puedes usar tipos de punto flotante.

alvherre=# select 5000000033000000000000000000003000::float - 5000000033000000000000000000500000::float;
 ?column? 
----------
        0
(1 fila)

alvherre=# select 5000000033000000000000000000003000::numeric - 5000000033000000000000000000500000::numeric;
 ?column? 
----------
  -497000
(1 fila)

Si no te sirve bigint (el cual no alcanza para 25 digitos), tendrias que
usar numeric.

-- 
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Si quieres ser creativo, aprende el arte de perder el tiempo"

In response to

pgsql-es-ayuda by date

Next:From: mmirandaDate: 2005-04-27 19:13:52
Subject: RE: numeric vs real
Previous:From: mmirandaDate: 2005-04-27 19:12:19
Subject: RE: numeric vs real

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group