Verwenden Sie STR_TO_DATE()
um Ihre starttime
umzuwandeln String zu einem MySQL DATETIME
:
STR_TO_DATE(starttime, '%m-%d-%Y %r')
und verwenden Sie dann TIMEDIFF()
zweimal subtrahieren:
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'
Sie sollten wahrscheinlich in Erwägung ziehen, den Datentyp von starttime
zu ändern Spalte zu DATETIME
oder TIMESTAMP
. Beachten Sie auch, dass dies von EndTime
ausgeht ist bereits von einem solchen Datentyp, sonst müssen Sie auch damit eine ähnliche Konvertierung durchführen.