2013-07-19 33 views
-2

我需要一個查詢,從中我可以從某個表中獲取行,並在某個小時之前插入該行。Mysql:獲取在某個小時之前插入的所有記錄

讓我們說1小時。我需要在1小時前插入的所有記錄。

我在表中有「createdon」列。

例如,我有一個表foo,列如下:

  • ID
  • 名稱
  • Created_on(時間戳設置爲默認值)

有一些記錄如下:

第一記錄 - 1 - A - 2013年7月19日4時12分○○秒

第二個記錄 - 2 - B - 2013年7月19日02:00:00

如果當前時間是下午5:00,然後查詢應僅返回第二條記錄。不是第一個記錄,因爲它是在一個小時內創建的。

+0

。 。你真的需要更好地解釋你在找什麼。你能提供樣本數據和預期結果嗎? –

回答

2

這種情況的正確的查詢如下:

SELECT * 從表名 其中created_on < DATE_SUB(NOW(),間隔1小時);

謝謝大家的幫助。

2

嘗試此SQL

select * from TableName where DateColumn > (DATEPART(hh,GETDATE())-1) 

可以更換1到任何你想要的值。

+1

但是在mysql中沒有名稱DATEPART的函數 – Abhinav

+0

@Sachin同意Abhinav –

+0

@Ahhinav你可以在mySql中使用'hour'函數。這裏介紹http://www.tutorialspoint.com/mysql/mysql-date-time-functions.htm#function_hour – Sachin

相關問題