Ihr Zustand
WHERE tStart >= '2011-04-04' AND tEnd <= '2011-04-04'
So ziemlich sichert dass die einzigen Aufzeichnungen, die übrig bleiben, wo sind
tStart = tEnd = '2011-04-04'
Es versteht sich von selbst, dass DATEDIFF zwischen ihnen 0 ergibt, für eine Gesamtsumme von 0. Tatsächlich wird DATEDIFF ignoriert der Zeitanteil, also müssen Sie TIMEDIFF + TIME_TO_SEC
verwendenSELECT SUM(TIME_TO_SEC(TIMEDIFF(tEnd, tStart))/60)
FROM tasks
WHERE tStart >= '2011-04-04' AND tEnd <= adddate('2011-04-04', interval 1 day)
Beachten Sie die Änderung an der WHERE-Klausel. Wenn Sie versuchen zu sagen, heute zu irgendeinem Zeitpunkt begonnen und heute zu irgendeinem Zeitpunkt geendet haben, sollte der Bereich (bereits unter der Annahme von Start
WHERE tStart >= '2011-04-04'
AND tEnd < adddate('2011-04-04', interval 1 day)
Sie können es bis zum 05.04.2011 fest codieren, aber mit <
(weniger als) und das Hinzufügen eines Tages zum Endlimit ist das, was ich hier zeige.