Fwd: Re: [Pgsql-ayuda] campos numericos

Ariel Nardelli ariel@empresanardelli.com.ar
Thu, 3 Jan 2002 19:13:31 -0300


----------  Mensaje reenviado  ----------

Subject: Re: [Pgsql-ayuda] campos numericos
Date: Thu, 3 Jan 2002 19:06:58 -0300
From: Ariel Nardelli <ariel@hensa.com.ar>
To: Gunnar Wolf <gwolf@campus.iztacala.unam.mx>

El Miércoles 02 Enero 2002 20:33, escribió:
> > Estoy definiendo mis primeras bases de datos en postgres y quisiera saber
> > algunas cosas y por eso les pregunto....
> >
> > Quiero definir poder guardar importes, y uso decimal para crear el campo
> > (no quiero usar el campo de importe por que me pone el signo monetario),
> > y lo defino como decimal(4,2), eso me permite guardar 1234,99 o sea mil
> > docientos trenta y cuatro con noventa y nueve o en realidad son 2 enteros
> > y 2 decimales?
>
> En esta no me lo creas demasiado, pero me parece que son en total cuatro
> números, dos de ellos decimales (o sea, 2.2). Pero... Asómate a la
> documentación :)

Exactamente, es asi tal cual vos lo decis..., son 4 campos de los cuales 2
son decimales, lo que me dejaria 2 enteros, o 1 con el signo negativo, segun
las pruebas que estube haciendo por aca..

> > Y la otra pregunta es, si quiero definir un campo numerico que solo tiene
> > un digito, o sea puede tener datos del 0 al 9, tengo que definirlo como
> > int2? o sea tener casi 5 digitos cuando solo quiero usar 1? o puedo
> > definir campos de otro tipo que me permita manejar la longitud de los
> > campos numericos? o sea, tengo campos numericos de 6 dijitos y es un
> > campo fijo en cantidad de caracteres, tengo que definir forzosamente int8
> > que tiene mayor cantidad de digitos?, puedo definir un campo entero con x
> > cantidad de digitos??...
>
> int2 es un entero de dos bytes o 16 bits, o sea, de -32767 a 32767. Ahora,
> para representar del 0 al 9 necesitas poco menos de 4 bits. Sí, ocupa 4
> veces tanto... Pero si vas a hacer comparaciones numéricas en tu base, es
> inclusive más rápido usar int2 que decimal(1,0), pues es más fácil para la
> máquina no tener que andar moviendo bits fraccionarios de palabra.

Mmmm, operaciones numericas? a que te referis????
Estos campos son la mayoria, campos de codigo, o sea, campo donde esta el
codigo de cliente, codigo de productos, que se usan para hacer busquedas por
cliente y luego con ese codigo buscar el nombre del cliente en otra base, no
es que realizo sumas de esos campos por asi decirlo, llegado el caso lo que
si voy a hacer es filtrados de registros y ordenar los registros segun esos
campos...
Estas son las operaciones a las que te referis?

Los campos de importes habitualmente comence a usar decimal(e,d) pero el
postgres normalemnte no realiza operaciones sino que las operaciones
matematiocas (calculo de saldo y esas cosas) la hace php....

Un Abrazo y espero tu opinion!!!

> Salú,

-------------------------------------------------------