Uw toestand
WHERE tStart >= '2011-04-04' AND tEnd <= '2011-04-04'
Vrijwel zorgt dat de enige records die overblijven zijn waar
tStart = tEnd = '2011-04-04'
Het spreekt voor zich dat DATEDIFF tussen hen 0 geeft, voor een totaalbedrag van 0. In feite, DATEDIFF negert het tijdsgedeelte, dus je moet TIMEDIFF + TIME_TO_SEC
. gebruikenSELECT SUM(TIME_TO_SEC(TIMEDIFF(tEnd, tStart))/60)
FROM tasks
WHERE tStart >= '2011-04-04' AND tEnd <= adddate('2011-04-04', interval 1 day)
Let op de wijziging in de WHERE-clausule. Als je probeert te zeggen, vandaag op elk moment begonnen en vandaag op elk moment eindigde, dan zou het bereik (reeds aangenomen begin
WHERE tStart >= '2011-04-04'
AND tEnd < adddate('2011-04-04', interval 1 day)
Je kunt het hard coderen naar 05-04-2011, maar met <
(minder dan) en een dag toevoegen aan de eindlimiet is wat ik hier laat zien.