Как получить разницу во времени между двумя значениями времени, хранящимися в виде строк? - PullRequest
0 голосов
/ 08 апреля 2011

Ниже приведены поля моей таблицы и поля ее значений; тип данных varchar.

Я хочу разницу во времени между ActualTimeIn и InTime (с часами: минутами: секундами).

ActualTimeIn   InTime
09:30:00 AM    1:23:00 PM

09:30:00 AM    11:30:00 AM

09:30:00 AM    11:29:00 AM

Ожидаемый результат выглядит следующим образом:

LateComing

3:53:00
2:00:00
1:59:00

1 Ответ

3 голосов
/ 08 апреля 2011
declare @T table(ActualTimeIn time(0), InTime time(0))

insert into @T values
('09:30:00 AM',   '1:23:00 PM'),
('09:30:00 AM',   '11:30:00 AM'),
('09:30:00 AM',   '11:29:00 AM')

select cast(dateadd(s, datediff(s, ActualTimeIn, InTime), 0) as time(0))
from @T

Результат

----------------
03:53:00
02:00:00
01:59:00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...