minutos entre dos fechas
Utilizo interbase, y quiero que una consulta sql me devuelva los minutos que hay entre dos campos fecha.
tengo: campo horainicio : 01/01/2005 12:12:00 campo horafin : 01/02/2005 16:30:12 |
Datediff
En Intebase creo que la funcion es
DATEDIFF(datepart, startdate, enddate) En SQL SERVER: Código:
DATEDIFF ( datepart , startdate , enddate ) |
No funciona
No funciona.Tengo interbase 5.0
|
Como utilizas Interbase 5, su dialecto SQL es el 1 y por tanto su tipo de datos es el TIMESTAMP del dialecto 3. DATE dialecto 1 = TIMESTAMP dialecto 3.
Segun mi manual de FIrebird, en la operacion TIMESTAMP - TIMESTAMP se obtiene como resultado un tipo DECIMAL(18,9) donde se guardan los dias y porciones de dias entre las dos fechas. Es decir, que si restas dos fechas y han pasado 6 horas, supongamos, te devolvera 0.25, que es la porción de día que ha pasado entre ambas. Entonces lo que hemos de hacer es multiplicar * 1440, ya que éstos son los minutos que tiene un dia (24 horas * 60 minutos). En nuestro ejemplo, si multiplicamos 0.25 *1440 nos da 360, que es justo lo que estamos buscando, los minutos. Asi pues, resta ambas fechas y multiplica el resultado por 1440. Esto lo estoy diciendo de teoria y con el libro "Firebird Book" de Helen Borrie en la mano, no lo estoy comprobando, pero supongo que estara bien. Entonces la consulta sera asi: Un saludo |
La franja horaria es GMT +2. Ahora son las 06:42:56. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi