Ver Mensaje Individual
  #24  
Antiguo 28-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-02-2011 a las 04:12:01.
Responder Con Cita