Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Diferencias entre dos campos datetime

Estas en el tema de Diferencias entre dos campos datetime en el foro de Mysql en Foros del Web. Como sacar la diferencia entre dos campos datetime: supongamos que tengo fecha1 y fecha2 y quiero sacar cuanto tiempo hay entre esos dos campos. quiero ...
  #1 (permalink)  
Antiguo 11/11/2008, 10:59
 
Fecha de Ingreso: octubre-2008
Ubicación: YUCATAN
Mensajes: 11
Antigüedad: 15 años, 6 meses
Puntos: 0
Diferencias entre dos campos datetime

Como sacar la diferencia entre dos campos datetime: supongamos que tengo fecha1 y fecha2 y quiero sacar cuanto tiempo hay entre esos dos campos. quiero que salga tanto los dias como las horas o tambien es valido que arroje el resultado diciendo 2.3 dias o algo asi, ya que datetime maneja la fecha y la hora en un solo campo.

como debo realizar esto??? es conveniente manejar en un solo campo la fecha y hora??? que me aconsejan. Espero puedan ayudarme

Gracias...
  #2 (permalink)  
Antiguo 11/11/2008, 11:08
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Diferencias entre dos campos datetime

Prueba con la función DATEDIFF

http://dev.mysql.com/doc/refman/5.0/...functions.html

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 11/11/2008, 15:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Diferencias entre dos campos datetime

Si quieres sacar las horas, yo usaría TIMEDIFF, y luego trataría de recuperar los días a partir de las horas.

Código sql:
Ver original
  1. SELECT TIMEDIFF( '1997-12-31 23:59:59', '1997-12-30 01:01:01' ) horas_minutos_segundos , FLOOR( HOUR( TIMEDIFF( '1997-12-31 23:59:59', '1997-12-30 01:01:01' ) ) /24 ) díAS, (
  2. HOUR( TIMEDIFF( '1997-12-31 23:59:59', '1997-12-30 01:01:01' ) ) %24
  3. )horas, TIME_FORMAT( TIMEDIFF( '1997-12-31 23:59:59', '1997-12-30 01:01:01' ) , "%i:%s" ) minutos_y_segundos

Observa el ejemplo, en el que primero obtenemos la resta, que la da en horas, minutos y segundos. Luego divido las horas por 24 para obtener los días y el resto sería el número de horas; finalmente, dejo los minutos y segundos.
Tal vez te sirva.
Mira la sintaxis en ver original

Última edición por jurena; 12/11/2008 a las 08:49
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:52.