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

consulta unix timestamp

Estas en el tema de consulta unix timestamp en el foro de Mysql en Foros del Web. Quiero hacer unas consultas basadas en un campo unix timestamp. Por ejemplo: -Mostrar los registros en que este campo este comprendido entre el tiempo actual ...
  #1 (permalink)  
Antiguo 10/05/2010, 18:50
Avatar de Restart  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 8 meses
Puntos: 0
consulta unix timestamp

Quiero hacer unas consultas basadas en un campo unix timestamp.

Por ejemplo:

-Mostrar los registros en que este campo este comprendido entre el tiempo actual y hace 10 dias atras
-Lo mismo pero esta vez con 1 mes atras


Estos registros en resumen muestran cuando se logea un usuario a un sistema web.

Última edición por Restart; 11/05/2010 a las 14:47
  #2 (permalink)  
Antiguo 10/05/2010, 20:54
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: consulta unix timestamp

Código MySQL:
Ver original
  1. WHERE UNIX_TIMESTAMP(campo_en_formato_unix_timestamp)

así?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 11/05/2010, 06:18
Avatar de Restart  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: consulta unix timestamp

No me devolvio nada, sin embargo no hay errores de sintaxis en la consulta
  #4 (permalink)  
Antiguo 11/05/2010, 06:39
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: consulta unix timestamp

SI te entendí bien, tienes un campo en la base de datos que tiene integer como tipo de dato. Allí almacenas fechas pero en formato unix_timestamp.
Es así?

Si es lo que digo, la consulta te debe arrojar registros entre una semana atras y la fecha de hoy exactamente.

Revisa bien tus datos y asegurate que correpondan a lo que mandas en la consulta.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 11/05/2010, 08:23
Avatar de Restart  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: consulta unix timestamp

Cita:
Iniciado por huesos52 Ver Mensaje
SI te entendí bien, tienes un campo en la base de datos que tiene integer como tipo de dato. Allí almacenas fechas pero en formato unix_timestamp.
Es así?

Si es lo que digo, la consulta te debe arrojar registros entre una semana atras y la fecha de hoy exactamente.

Revisa bien tus datos y asegurate que correpondan a lo que mandas en la consulta.

saludos

Si, entendiste bien.

Sabes que googliando lei que UNIX_TIMESTAMP(campo), devuelve en segundos la fecha.

Cita:
Si se llama sin argumentos, retorna el timestamp de Unix (segundos desde '1970-01-01 00:00:00' GMT) como entero sin signo. Si se llama a UNIX_TIMESTAMP() con un argumento date , retorna el valor del argumento como segundos desde '1970-01-01 00:00:00' GMT.
Y despues la consulta esta buscando ENTRE dos parametros en formato fecha. No se si estoy equivocado pero la consulta esta diciendo en palabras simples:

"buscame tantos segundos entre estas dos fechas"

Ya verifique bien y la consulta esta bien y el campo igual, asi que otra cosa debe estar fallando.
  #6 (permalink)  
Antiguo 11/05/2010, 08:45
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: consulta unix timestamp

Pon tu sentencia create table y algunos inserts para hacer las respectivas pruebas.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 11/05/2010, 09:59
Avatar de Restart  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: consulta unix timestamp

Cita:
Iniciado por huesos52 Ver Mensaje
Pon tu sentencia create table y algunos inserts para hacer las respectivas pruebas.

saludos
Código:
CREATE TABLE `tabla` (
  `firstname` varchar(100) NOT NULL default '',
  `lastaccess` bigint(10) unsigned NOT NULL default '0'
) 



INSERT INTO `tabla` VALUES ('ANA MARIA', 1273533572);
INSERT INTO `tabla` VALUES ('LEONARDO ANGEL', 1273543988);
INSERT INTO `tabla` VALUES ('CARLOS MANUEL', 1273542938);
INSERT INTO `tabla` VALUES ('ROSA MERCEDES', 1273590042);
INSERT INTO `tabla` VALUES ('PATRICIO HERNAN', 1273546656);
INSERT INTO `tabla` VALUES ('JOHANNA ANDREA', 1273533527);
INSERT INTO `tabla` VALUES ('LILIAN CECILIA', 1273585499);
  #8 (permalink)  
Antiguo 11/05/2010, 10:29
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: consulta unix timestamp

Tenes razón... hay un problema de casteos.

Prueba esta:
Código SQL:
Ver original
  1. WHERE
  2. FROM_UNIXTIME(lastaccess)
  3. BETWEEN
  4. DATE_SUB(FROM_UNIXTIME(UNIX_TIMESTAMP()), INTERVAL 1 WEEK)
  5. AND
  6. FROM_UNIXTIME(UNIX_TIMESTAMP());
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #9 (permalink)  
Antiguo 11/05/2010, 12:38
Avatar de Restart  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: consulta unix timestamp

Ahi funciono. Muchas gracias.

Etiquetas: timestamp, unix
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 08:00.