Usa STR_TO_DATE()
per convertire il tuo starttime
stringa a un MySQL DATETIME
:
STR_TO_DATE(starttime, '%m-%d-%Y %r')
e quindi utilizzare TIMEDIFF()
per sottrarre due volte:
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'
Probabilmente dovresti considerare di cambiare il tipo di dati di starttime
colonna a DATETIME
o TIMESTAMP
. Nota anche che questo presuppone EndTime
è già di un tale tipo di dati, altrimenti dovrai anche eseguire una conversione simile con esso.