Tomemos estas dos fecha
1ra=01/03/2005
2da=01/01/2007
como la fechas para hacer el calculo(Si te das cuenta estan en formato europeo dia/mes/año)
interbase trata las fecha en otro formato(mes/dia/año)
lo que nos quedaria
1ra=03/01/2005
2da=01/01/2007
y como todos sabes el año tiene 365 dias o 366 si en biciesto
si dividimos 365/12 = 30,416666666666666666666666666667
Pero por precicion no se puede usar con todos esos decimales
entonces usamos 30.41666666666666667
y la instruccion sql quedaria asi
Código SQL
[-]
Select cast( (cast( (cast('01/01/2007' As Date) - cast('03/01/2005' As Date)) as Double Precision) / 30.41666666666666667) As integer)
From rdb$database
cast('01/01/2007' As Date) - cast('03/01/2005' As Date))
Esto no es necesario si no usas las fechas como cadenas usalas
cast('01/01/2007' As Date) = 2dafecha
cast('03/01/2005' As Date) = 1rafecha
Por lo del formato de las fechas no debes preocurte amnos que estes pasando las fechas como cadena.
Ya que si la lees de la bse de ya esta como la quieres.
Espero te sirva de ayuda.
Nota: Y por favor si te sirvio responde diciendo que te sirvio.