Hola amigos, acudo a ustedes por el siguiente motivo...
Tengo una base de datos nueva y creada en FireBird 1.5 con Dialecto 3, en ella hice una tabla que la llame
"Prueba", con un unico campo llamado
"Valor" de tipo
Double precision, luego hice el siguiente procedimiento almacenado llamado
"SP_Prueba":
Código SQL
[-]
CREATE PROCEDURE SP_Prueba
as
declare variable conteo integer;
begin
conteo = 0;
while (:conteo <= 1000) do
begin
insert into test (conteo, valor) values(:conteo, 33.33);
conteo = :conteo+1;
end
end
Que como pueden ver, dicho procedimiento almacenado solo guarda 1000 veces el valor 33.33 en la tabla
"Prueba", luego voy a ver la tabla y efectivamente dicho valor en los mil campos es 33.33, es toda una maravilla
![Big Grin](http://www.clubdelphi.com/foros/images/smilies/biggrin.gif)
(Ya que cuando lo hacia en Dialecto 1, no era exactamente ese el valor que me dejaba).
Luego de dicha prueba hice otra... he cambiado el procedimiento almacenado por el siguiente:
Código SQL
[-]
CREATE PROCEDURE SP_Prueba
as
declare variable conteo integer;
begin
conteo = 0;
while (:conteo <= 1000) do
begin
insert into test (conteo, valor) values(:conteo, 100/3);
conteo = :conteo+1;
end
end
Pero al ver la tabla, me encuentro con que el valor en esos 1000 registros es 33, cuando deberia ser 33.333333333333333. Luego hice otra prueba, 100/33 y el resultado fue 3, cuando deberia tener fraccionarios
![Frown](http://www.clubdelphi.com/foros/images/smilies/frown.gif)
, si coloco el tipo de campo como Numeric(15,2), sucede lo mismo
![Frown](http://www.clubdelphi.com/foros/images/smilies/frown.gif)
, luego hice 100/3.3 y allí el resultado fue 30.3 que en este caso si era el correcto, lo que me lleva a pensar que si no coloco en el divisor un numero decimal, el resultado devuelto no tendra decimales, asi el resultado verdadero lleve decimales.
¿Alguien sabe a que se debe esta situación o tiene alguna sugerencia al respecto?, por vuestro tiempo, amabilidad y paciencia prestados, muchisimas gracias
![Smilie](http://www.clubdelphi.com/foros/images/smilies/smile.gif)
.