En este grupo En todos

Foro de MySQL



Como convertir fecha datetime a segundos.

Escrito por Ivan Guzman
el 16/01/2008

Hola, buena tarde:

Tengo un pequeño problema,quiero restar dos fechas tipo datetime directamente  en un query y que el resultado me lo arroje en segundos , esto es para usar una función que construi , ecistira alguna función para realizar esa converciona  segundos.

2008-01-01 23:12:15   -  2008-01-12  10:15:04 y me lo arroje en segundos.


Gonzalo
Buenos Aires, Argent...
Escrito por Gonzalo
el 17/01/2008

La función es TIMESTAMP y se usa: 

TIMESTAMP(unidad_tiempo, datetime_inicial, datetime_final)

Donde unidad_tiempo puede ser:

YEAR, MONTH, DAY HOURS, MINUTES, SECONDS.

Escrito por Ivan Guzman
el 21/01/2008

Hola Gonzalo.

Tengo una duda, ya hice las pruebas en mysql y lo puse  asi:

Select TIMESTAMP(SECONDS,fecha,fechaA) from reportes inner join  bdmod_reportes on reportes. No_reporte = bdmod_reporte. No_reporte;

Y  me arroja un error , por que pasa esto.

Gonzalo
Buenos Aires, Argent...
Escrito por Gonzalo
el 22/01/2008

Para poder responderte correctamente deberías decirme cuál es el texto del error devuelto.

Pero anticipándome al caso noto dos detalles que se me pueden haber pasado por alto o puedo haberlos escrito yo mal en el ejemplo dado:

La función para devovlerte la diferencia entre dos Datetime es DATESTAMPDIFF(). DATESTAMP() te convierte un DateTime en un string DateStamp. Además, la cláusula de tiempo es SECOND y no SECONDS, de modo que la sentencia debería quedar:

SELECT TIMESTAMPDIFF(SECOND, fecha, fechaA) FROM  reportes INNER JOIN bdmod_reportes ON reportes. No_reporte = bdmod_reporte. No_reporte;

Como tip adicional, si haces un INNER JOIN entre dos tablas y el campo a igualar tiene el mismo nombre y el mismo tipo, es más eficiente usar USING():

SELECT TIMESTAMPDIFF(SECOND, fecha, fechaA) FROM  reportes INNER JOIN bdmod_reportes USING (no_reporte);


Escrito por Ivan Guzman
el 22/01/2008
"Muchisimas gracias,  eso había verificado, que existia la función timestampdiff() y si tenia mal la variable del  tiempo a arrojar que es second, pero ya quedo muchisimas gracias, estoy a tu dispocición del poquito conocimiento que tengo.
Gracias Gonzalo, muy buen día.
Matías
Buenos Aires, Argent...
Escrito por Matías
el 10/04/2008
Tienen idea de cómo se podrá hacer esto mismo pero en Sybase? Porque probé pero me devuelve que la función datestampdiff no existe.
Gracias
"
"Muchisimas gracias,  eso había verificado, que existia la función timestampdiff() y si tenia mal la variable del  tiempo a arrojar que es second, pero ya quedo muchisimas gracias, estoy a tu dispocición del poquito conocimiento que tengo.
Gracias Gonzalo, muy buen día.
"

por IVAN GUZMAN (Enero 2008)



Escrito por Vicent34
el 22/02/2009

Hola, yo tambien tengo el mismo problema.

Alguien encontró alguna solución?
Gracias.

Juan Luis Rojas
Lara, Venezuela
Escrito por Juan Luis Rojas
el 09/03/2009

Puedes utilizar dos funciones para resolver este problema, primero la función subdate para restar 2 fechas, luego la funcion time_to_sec para convertir la fecha resultante en segundos.

Lo puedes aplicar a dos fechas directamente, restar una fecha de la hora actual, o restar una fecha guardada en un campo de la base de datos.

TIME_TO_SEC(SUBDATE(2008-01-01 23:12:15 , 2008-01-12 10:15:04))

TIME_TO_SEC(SUBDATE(NOW() , 2008-01-12 10:15:04))

TIME_TO_SEC(SUBDATE(NOW(), fecha_prod))

Alvarojoel Pazmonsalve
Licenciatura computacion iprc
Escrito por Alvarojoel Pazmonsalve
el 11/10/2009

Hola buenas dias amigos. El usuario me dan una fecha en formato dd/mm/aaaa 00:00:00 , y tengo que llevar todo eso a segundos. Me podrian ayudar con esto porfavor, se los agradeceria...

estare esperando sus respuestas! Gracias! :)

Rmm Mm Mmmmmm
Morelos, México
Escrito por Rmm Mm Mmmmmm
el 23/06/2010

Mencionas que un DATATIME puede ser comparado con DATATIMEDIFF desde otra tabla con la seleccion de los campos?

Es decir deseo saber cuantas horas transcurrieron de un cierto tiempo a la hora actual.

Se puede con estos comandos?

Gabriel Fernandez
Ingenieria en sistemas universidad nac...
Escrito por Gabriel Fernandez
el 14/11/2010

Hola amigos, quisiera ver si ustedes me pueden brindar informacion de como replicar heterogeniamente, ocea con gesteros de base de datos diferente,esta vez entre mysql y postgred... Tengo un proyecto final pero no he podido encontrar informacion sobre este tema...


Gracias