Ver Mensaje Individual
  #4  
Antiguo 19-08-2004
Avatar de Rufus
Rufus Rufus is offline
Miembro
 
Registrado: may 2004
Ubicación: Canarias
Posts: 193
Reputación: 20
Rufus Va por buen camino
Normalmente utilizo el tipo de datos decimal.

Parece ser que en la práctica, al menos en firebird 1.5, decimal y numeric se comportan igual y que los dos pueden almacenar más digitos de lo especificados en la precisión dependiendo de unas reglas. Aquí vemos como almacena interbase/firebird realmente los datos dependiendo de la precisión especificada:

Definicion____________________________Tipo de datos creado

Decimal(1)-Decimal(4)_________________Small Integer
Decimal(5)-Decimal(9)_________________Integer
Decimal(10)-Decimal(18)_______________Int (64)

Funciona así: si creamos un decimal con precision 5, por ejemplo decimal(5,2), internamente se almacena como un integer. Según esto, podríamos llegar a almacenar numeros de hasta 9 dígitos, contando decimales, es decir que podria poner 5555555.55 sin problema. Pero lo mejor siempre será crear la precisión lo suficientemente grande como para que no se de el caso de tener que almacenar un número mayor, por lo que pueda pasar.

El signo, si es negativo, parece que no ocupa sitio de los dígitos especificados.
__________________
Milo
Responder Con Cita