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

上面的(子)查詢是否會返回在小時內創建的所有記錄?如果沒有人請給我一個正確的?完整的查詢可能看起來如下:選擇在小時內創建的所有記錄

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

回答

15

不是CURDATE(),使用NOW()和使用>=而非<既然你想時間戳比一小時前的時間戳。 CURDATE()只返回日期部分,其中NOW()返回日期和時間。

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

例如,在我的時區是12:28

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

總之,你需要的是:

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

感謝。有用! – tribal

+0

如何減去它以便從12:28:53我得到11:00:00? – PeeS

+0

我可以從單個數據庫的所有表中進行選擇嗎? – mario