Hola.
Partiendo de la consulta original:
Código SQL
[-]SELECT CAST((90/60) AS INTEGER) AS HORA FROM RDB$DATABASE
En Firebird 2.5 y utilizando constantes 90 y 60 como dije antes, el resultado es: 1
Aplicando las consultas realizadas por
Delphius en Firebird 2.5 obtuve.
con SQL Mananger:
Cita:
1) select cast(90/60 as integer) as Nro from rdb$database = 1
2) select cast(90.0/60.0 as integer) as Nro from rdb$database = 2
3) select 90/60 as Nro from rdb$database = 1
4) select 90.0/60.0 as Nro from rdb$database = 1,5
|
Y con iguales resultados usando un TIBQuery:
Tomando en cuenta que Firebird, como muchos lenguajes, devuelve un resultado del mismo tipo que el tipo de sus operandos :
1) Es correcto ya que division entera de 90/60 = 1
2) Correcto, igual que realizar IntToStr(Round(90/60)) = 2
3) Correcto, igual caso que 1)
3) Correcto evidentemente.
Entonces tomando en cuenta la consulta original y según mis pruebas, la tabla de
Al González me queda:
Cita:
Firebird 1.5.3 (Delphius, Al), resultado: 1 (por confirmar)
Firebird 1.5.5 (Casimiro), resultado: 1.5 (por confirmar)
Firebird 2.0 (Joe_Balda), resultado: 1.5 (por confirmar)
Firebird 2.5 (ecfisa), resultado: 1
|
Cuando pueda voy a provar las versiones con controversias ya que no las tengo en este momento.
Pero aparentemente hay diferencia en las versiones...
Un saludo.