2011-09-13 23 views
6
startTimestamp < date_sub(curdate(), interval 1 hour) 

¿Volverá la (sub) consulta anterior a todos los registros creados dentro de la hora? Si no, ¿alguien me mostrará una correcta? La consulta completa puede ser similar al siguiente:seleccionar todos los registros creados dentro de la hora

select * from table where startTimestamp < date_sub(curdate(), interval 1 hour); 

Respuesta

15

En lugar de CURDATE(), utilice NOW() y utilizar en lugar de >=< ya que desea que las marcas de tiempo a ser mayor que la marca de tiempo de hace una hora. CURDATE() devuelve solo la parte de fecha, donde NOW() devuelve fecha y hora.

startTimestamp >= date_sub(NOW(), interval 1 hour) 

Por ejemplo, en mi zona horaria es 12:28

SELECT NOW(), date_sub(NOW(), interval 1 hour); 
2011-09-13 12:28:53 2011-09-13 11:28:53 

Todos juntos, lo que necesita es:

select * from table where startTimestamp >= date_sub(NOW(), interval 1 hour); 
+0

Gracias. ¡Funciona! – tribal

+0

cómo sustraerlo para que a partir de las 12:28:53 llegue a las 11:00:00? – PeeS

+0

¿puedo seleccionar de todas las tablas de una única base de datos? – mario

Cuestiones relacionadas