Ver Mensaje Individual
  #3  
Antiguo 04-12-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Cita:
Empezado por InterBase Data Definition Guide.pdf
When you create a domain or column with a NUMERIC or DECIMAL datatype, InterBase
determines which datatype to use for internal storage based on the precision and scale
that you specify and the dialect of the database.

NUMERIC and DECIMAL datatypes that are declared without either precision or scale are
stored as INTEGER.

Defined with precision, with or without scale, they are stored as SMALLINT, INTEGER,
DOUBLE PRECISION or 64-bit integer. Storage type depends on both the precision and the
dialect of the database. Table 4.2 describes these relationships.
Código:
Precision 	Dialect 1 				Dialect 3
1 to 4		SMALLINT for NUMERIC datatypes		SMALLINT
		INTEGER for DECIMAL datatypes

5 to 9 		INTEGER 				INTEGER
10 to 18 	DOUBLE PRECISION 			INT64
NUMERIC and DECIMAL datatypes with precision greater than 10 always produce an error
when you create a dialect 2 database. This forces you to examine each instance during a
migration. For more about migrating exact numerics, see “Migrating databases with
NUMERIC and DECIMAL datatypes” on page 67.
Al guardarse en dialecto 1 con 15 de precisión, estás usando el double precision, no apto para valores monetarios.

jhonny: no he hecho pruebas, pero quizás el problema continúe por no realizar una correcta migración de datos. Ya digo, en tu caso particular no tengo ni idea.


Lamentablemente, la ignorancia es así, criticamos por desconocimiento y arrogantemente.

PD: Ese libro es gratuito y descargable desde www.ibphoenix.com

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 04-12-2007 a las 18:00:36.
Responder Con Cita