我使用的MySQL 5.6MySQL的TIMEDIFF
我有一個表shift
的列start_time
(TIME)和end_time
(TIME):
+------------+----------+
| start_time | end_time |
+------------+----------+
| 07:00:00 | 16:00:00 |
| 15:00:00 | 23:00:00 |
| 22:00:00 | 07:00:00 |
| 12:00:00 | 21:00:00 |
| 12:00:00 | 09:00:00 |
| 10:00:00 | 20:00:00 |
| 23:00:00 | 01:00:00 |
| 21:00:00 | 05:00:00 |
+------------+----------+
我想找到所有的轉變將在未來15分鐘結束。以上是樣本數據,它可以有幾分鐘以及順便說一句。
這是我曾嘗試:
SELECT start_time, end_time FROM shift WHERE TIME_TO_SEC(TIMEDIFF(end_time, TIME(NOW()))) < 900;
結果:
+------------+----------+
| start_time | end_time |
+------------+----------+
| 22:00:00 | 07:00:00 |
| 12:00:00 | 09:00:00 |
| 23:00:00 | 01:00:00 |
| 21:00:00 | 05:00:00 |
+------------+----------+
時,我沒有在我的表中的任何夜班這個查詢應該工作(即當start_time
是大於end_time
)。任何人都可以幫我解決夜班的問題。
你沒有主鍵。這將會非常棘手以至於無法解決。 – Strawberry
@Strawberry請隨意假設一個以'id'作爲主鍵的列,就像我在真實應用程序中一樣。讓我知道是否應該在這裏添加它以清楚。 – Jigar
當然你應該! – Strawberry