下面是我的表字段及其值字段;数据类型是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
答案 0 :(得分:3)
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