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

Timestamp

Estas en el tema de Timestamp en el foro de Mysql en Foros del Web. Hola a todos; Me gustaria saber como hacer una consulta que me devuelva la diferencia en minutos de la fecha que hay en un campo ...
  #1 (permalink)  
Antiguo 14/02/2010, 12:38
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Timestamp

Hola a todos;
Me gustaria saber como hacer una consulta que me devuelva la diferencia en minutos de la fecha que hay en un campo y la fecha actual.
El campo es del tipo TIMESTAMP y que la hora la coja del server.
Un saludo
  #2 (permalink)  
Antiguo 14/02/2010, 13:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Timestamp

Código MySQL:
Ver original 
Donde fechaEnTabla es el campo de la tabla.
En este caso ambas fechas deben ser o DATETIME o TIMESTAMP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/02/2010, 16:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Timestamp

Pues no me fucniona. me da error 1064.
  #4 (permalink)  
Antiguo 14/02/2010, 16:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Timestamp

Error 1064 significa "Error de sintaxis".
Postea toda la sentencia que usaste y todo el mensaje de error.
En este ámbito (bases de datos), lo mismo que en programación, los errores no son genéricos. Son específicos.
Tienes que describir todo el detalle, o de lo contrario no te podemos ayudar.

¿Qué fue lo que hiciste?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 14/02/2010, 18:10
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Timestamp

No falta el nombre de la tabla?

Código MySQL:
Ver original
  1. SELECT TIMESTAMPDIFF(MINUTE, fechaEnTabla, NOW()) from tu_tabla;
  2.  
  3. SELECT TIMESTAMPDIFF(MINUTE, fechaEnTabla, CURRENT_TIMESTAMP()) from tu_tabla;

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 14/02/2010, 18:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Timestamp

Lo que yo puse intentaba ser un ejemplo esquemático, además si no hubiese puesto el nombre de la tabla, el error no habría sido el 1064, sino el 1054 (Columna xx desconocida en..). Como fué ese, el problema es saber qué puso.

En esencia, el nombre de la tabla se supone que entendió que debería ponerla él...
Quiero imaginar que al menos eso se puede inferir...

Código MySQL:
Ver original
  1. SELECT TIMESTAMPDIFF(MINUTE, fechaEnTabla, NOW())
  2. FROM tabla;
Código MySQL:
Ver original 
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 15/02/2010, 03:10
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Timestamp

Con esta funcion me saca la hora en formato 00:00:00
<PHP>SELECT TIMEDIFF(NOW(), fecha) as minutos FROM enlinea WHERE idusuario='$edad4'"</PHP>
Ahora lo que quiero es litar todos los usuarios que la hora que tengan en ese campo esten dentro del rango => 5 minutos.
Por ejemplo tengo uno que me saca 59:04:26 y otro con 00:02:45 pues quiero sacar al usuario que no a pasado de los 5 minutos.

Un saludo

Última edición por visona; 15/02/2010 a las 05:15
  #8 (permalink)  
Antiguo 15/02/2010, 05:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Timestamp

Cita:
Iniciado por visona Ver Mensaje
Pues me da el error y "por supuesto" pongo el nombre de la tabla.
Código PHP:
SELECT TIMESTAMPDIFF(MINUTEfechaNOW())
FROM enlinea 
y me da el error 1064. He mirado mas formas de colocarlo y no hay manea de que me vaya.
Un saludo
Falta decir que mi version de MySql es la 4.1
Estás usando una versión muy vieja. Deberías pensar seriamente en cambiar po lo menos a 5.0.9...

La versión 4.1.1 tiene menos funciones (ésta no la tiene) que las siguientes, e incluso estas son menos precisas en ciertos puntos.
Una de las funciones de la versión que podrías usar sería TIMEDIFF(), pero tendrás problemas con períodos mayores a 832 horas
Código MySQL:
Ver original
  1. SELECT (TIME_TO_SEC(TIMEDIFF(NOW(), fecha)) DIV 60) Minutos
  2. FROM enlinea;
Funciones de Fecha y Hora (MySQL 4.1.1.)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 15/02/2010 a las 05:38

Etiquetas: timestamp
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 18:16.