Usuários registrados há mais de 24 horas

  • Autor Autor Hugo7
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Hugo7

Hugo7

Ómicron
Verificación en dos pasos activada
Hola amigos,

Espero que se encuentren bien.

He creado una tabla de usuarios, con fecha en formato timestamp...
Y estoy usando la siguiente consulta, para seleccionar los usuarios con más de 1 día de registrados...

Inserir CODE, HTML ou PHP:
select * from usuarios where ROUND((UNIX_TIMESTAMP()-fecha_creado)/86400) > 1

El problema con esta consulta, es que al pasar 24 horas y 1 minuto, sigue identificando como 1 día (cuando ya pasó más de 1 día).

¿Cómo podría mejorar esta consulta?

Desde ya muchas gracias por la ayuda...

Un saludo,
Hugo
 
Última edição:
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Usa esta instrucción y dejame saber como te fue:

select * from usuarios where fecha_creado <= (NOW() - INTERVAL 1 DAY)

Saludos!
 
Gracias erniecastle,

Creo que tu solución es lo que estoy necesitando...
Inclusive, puede servir para cualquiera que esté buscando hacer algo similar...

Primero, yo lo necesito en formato TimeStamp...
Para eso, hay que convertir el formato de fecha, con la funcion de MySQL...
El siguiente ejemplo, es para tener una referencia de lo que devuelve...
Inserir CODE, HTML ou PHP:
SELECT UNIX_TIMESTAMP((NOW() - INTERVAL 1 DAY))

Y por lo que pude ver rápidamente, sería lo que necesito...
La siguiente consulta funciona, pero no llegué a hacer pruebas exhaustivas...
Inserir CODE, HTML ou PHP:
SELECT * FROM usuarios WHERE fecha_inicio >= UNIX_TIMESTAMP((NOW() - INTERVAL 1 DAY))

Por ahora, estoy usando mi vieja consulta, con un pequeño cambio...
Ya que luego de muchas pruebas, descubrí que hace lo que necesito...
Inserir CODE, HTML ou PHP:
SELECT * FROM usuarios WHERE [B]CEILING[/B]((UNIX_TIMESTAMP()-fecha_inicio)/86400) > 1


Dejo todos estos comentarios, por si le puede servir a alguien más...
Muchas gracias erniecastle por la ayuda,

Un saludo,
Hugo
 
Con cual gestor de BDD estás trabajando?
 
Estoy usando una base de datos MySQL
 
Voltar
Topo