我有兩列(日期字段,時間字段),它們存儲在字符串date
和time
和第一步是這兩個領域結合起來,這樣我可以比較它們與當前日期(我不知道我是否做對了)。第二步是編寫查詢,只有在這兩列的獲取日期接近當前日期時才應該選擇記錄。並且該日期應該在當前日期和當前日期之前4小時之間,因爲在那之後,如果沒有滿足某些條件,所有這些記錄都會發生。MySQL查詢檢查,如果一個日期接近當前的日期
格式欄的日期和時間:
event_date = 'yyyy/MM/dd'
event_time = 'HH:mm'
因此,這裏是我的查詢:
SELECT *
FROM `events`
WHERE DATE_SUB(NOW() , INTERVAL 4 HOUR)
< ADDTIME(event_date, event_time)
也許我應該首先這些字符串轉換爲日期,然後與他們或別的什麼工作?總而言之,如果我有一些數據與這些日期,例如:
1. 2017-02-26 10:00
2. 2017-02-26 11:00
3. 2017-02-27 10:00
而且當前日期時間爲:2017-02-26 06:00
。在這種情況下,我只能得到1 record
並當一個時間過得或2017-02-26 07:00
的話,我會得到2 records
(認真)考慮將日期和時間存儲爲一個單一的實體 - 並使用日期時間數據類型 – Strawberry
我會的。例如,如果我有一個與日期時間數據類型的列我需要使用BETWEEN函數來實現我要找的結果? –
一旦你已經整理出你的日期時間列,請參閱http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-tobe -a-very-simple-sql-query – Strawberry