jhoncook, tienes razon. En isql, ejecutando esto:
Código SQL
[-]
select 50/100 from rdb$database;
el resultado es 0. Al ser ambos operandos integer, el resultado tambien será integer.
Ahora bien, si introducimos:
Código SQL
[-]
select 50.00/100 from rdb$database;
select (50 + 0.00) /100 from rdb$database;
select (50 * 1.00) /100 from rdb$database;
sí nos devuelve 0.50, el resultado correcto, al ser uno de los operandos con dos decimales el resultado tambien nos lo devuelve con dos decimales.
Un saludo