Използвайте STR_TO_DATE()
за да конвертирате вашия starttime
низ към MySQL DATETIME
:
STR_TO_DATE(starttime, '%m-%d-%Y %r')
и след това използвайте TIMEDIFF()код>
за изваждане два пъти:
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'
Вероятно трябва да помислите за промяна на типа данни на starttime
колона до DATETIME
или TIMESTAMP
. Имайте предвид също, че това предполага EndTime
вече е от такъв тип данни, в противен случай ще трябва да извършите подобно преобразуване и с него.