[英]MySQL select query for date range with same time
表
EventID --- EventTime( TIMESTAMP
)
1 2013-09-29 12:00:00.0
2 2013-09-29 12:01:00.0
3 2013-09-29 12:03:00.0
4 2013-09-28 1:03:00.0
5 2013-09-27 23:03:00.0
6 2013-09-26 17:03:00.0
7 2013-09-25 12:01:00.0
8 2013-09-24 20:03:00.0
9 2013-09-23 5:03:00.0
10 2013-09-23 12:01:00.0
我想檢索行,在MySQL中,滿足給定的日期范圍內同時進行 。
因此,如果我查詢以'2013-09- 26 12:01 '作為EventTime值的+/- 5天來檢索行,則我希望得到第2、7和10行。
請幫助框架SQL語句。 謝謝!
WHERE EventTime >= '2013-09-26 12:01' - INTERVAL 5 DAY
AND EventTime <= '2013-09-26 12:01' + INTERVAL 5 DAY
AND TIME(EventTime) = TIME('2013-09-26 12:01')
您可以使用mysql的HOUR和MINUTE函數
https://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
這正是您要實現的目標:
SELECT * FROM events WHERE
HOUR(EventTime)=HOUR('2013-09-26 12:01') AND
MINUTE(EventTime)=MINUTE('2013-09-26 12:01') AND
EventTime BETWEEN
DATE_SUB('2013-09-26 12:01', INTERVAL 5 day) AND
DATE_SUB('2013-09-26 12:01', INTERVAL -5 day)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.