這是表:MySQL的:獲取記錄,時間的開始和結束時間之間(「XX:YY和ZZ」)
+----+-----------+------------+----------+
| id | id_sensor | start_time | end_time |
+----+-----------+------------+----------+
| 1 | 12 | 21:15:00 | 02:45:00 |
| 2 | 7 | 00:00:00 | 23:15:00 |
| 3 | 5 | 04:30:00 | 16:30:00 |
+----+-----------+------------+----------+
我需要得到結果,其中一個特定的時間(例如01 :00:00)通過PHP之間。 start_time和end_time是UTC中的TIME字段,我通過php傳遞到查詢小時,note,在php中從user_timezone轉換爲UTC。
SELECT * FROM test WHERE TIME('01:00:00') BETWEEN start_time AND end_time;
查詢返回唯一記錄編號2,而不是1。我需要兩個,在此情況下(ID 1,結束時間ofcourse是第二天)。
當然,如果我們尋找TIME('01:00:00' ),我們不需要的ID 3.
謝謝。
什麼是邏輯找出範圍包裝一天?因爲如果你還沒有日期字段,那麼每個開始時間/結束時間情侶都會與你的查詢匹配,無論如何:D – Johnny
@Johhny這是我的預期行爲。但是,如果你嘗試我的SQL,它不會得到ID 1 .... – sineverba
你不明白我的意見。用你不想返回的行擴展你的問題。 – Johnny