Använd STR_TO_DATE()
för att konvertera din starttid
sträng till en MySQL DATETIME
:
STR_TO_DATE(starttime, '%m-%d-%Y %r')
och använd sedan TIMEDIFF()
att subtrahera två gånger:
select ID,NCOde,
TIMEDIFF(ifnull(EndTime,now()), STR_TO_DATE(starttime, '%m-%d-%Y %r'))
from xxx
where STR_TO_DATE(starttime,'%m-%d-%Y %r')
between '2012-05-09 00:00:00' and '2012-05-09 23:59:59'
Du bör förmodligen överväga att ändra datatypen för starttid
kolumnen till DATETIME
eller TIMESTAMP
. Observera också att detta förutsätter Sluttid
är redan av en sådan datatyp, annars måste du också utföra en liknande konvertering med den också.