Ver Mensaje Individual
  #8  
Antiguo 12-01-2007
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Reputación: 21
rastafarey Va por buen camino
Veamos si esto te sirve

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.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.

Última edición por rastafarey fecha: 12-01-2007 a las 08:11:01.
Responder Con Cita