我有與follwing記錄中的一個字段START_TIME表:Mysql的日期和時間差
2011-07-26 14:30:00
2011-07-28 08:00:00
我需要做的是比較場start_time
與當前日期時間和節目只記錄如果它們之間的差異小於5分鐘。它應該顯示當前日期的記錄只有
這是我的嘗試:
SELECT * FROM jqcalendar WHERE StartTime <= NOW() - INTERVAL 5 MINUTE
我有與follwing記錄中的一個字段START_TIME表:Mysql的日期和時間差
2011-07-26 14:30:00
2011-07-28 08:00:00
我需要做的是比較場start_time
與當前日期時間和節目只記錄如果它們之間的差異小於5分鐘。它應該顯示當前日期的記錄只有
這是我的嘗試:
SELECT * FROM jqcalendar WHERE StartTime <= NOW() - INTERVAL 5 MINUTE
使用DATE_ADD/DATE_SUB
的日期計算:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add
所以StartTime <= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
應該做的伎倆
用mysql函數TIMEDIFF(date1,date2)
select * from jqcalendar WHERE TIMEDIFF(now(), StartDate) < 500
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timediff
它沒有顯示當前日期的記錄。我只需要當前日期記錄 – rajesh
只是在函數中切換參數。它應該是TIMEDIFF(now(),StartDate) –
@MartinTaleski:在你的例子中什麼是'5'?它是分鐘,一天,...? MySQL參考可能不清楚TIMEDIFF結果轉換爲數字。 –
TIMESTAMPDIFF(MINUTE,start_time,now()) < 5
你能詳細說明你的代碼嗎? – dgilperez
現在和start_time之間的時間差小於5分鐘,然後是。 – raulsi
@raulsi考慮修改包含評論的答案 – Strawberry
您可能需要澄清你的問題,而不是一次又一次重複着同樣的意見。至少你的查詢沒有顯示任何試圖顯示「僅當前日期的記錄」,你也應該確保你的示例數據包含「今日」數據(2011-07-28是我住的昨天)。 – Select0r
@rajesh:如果「當前(系統)日期時間小於5分鐘」是什麼意思?與「StartDate」值相比較?所以'StartDate'在未來呢? –