Подобно @PSK, я использовал функцию STUFF для замены символов «IN-» и «OUT-»
Но так как они находятся в условиях JOIN, эти операции приведут к снижению производительности. Лучше использоватьчисловой столбец в обеих таблицах вместо бесполезных «IN-» и «OUT-», содержащих строковые столбцы
select
i.UserId, i.InID, CheckInTime, o.OutID, CheckOutTime,
dbo.fn_CreateTimeFromSeconds(DATEDIFF(ss, CheckInTime, CheckOutTime)) as TotalTime
from CheckIn i
inner join CheckOut o
on i.UserId = o.UserId and
STUFF (i.InID,1,3,'') = STUFF (o.OutID,1,4,'')
Кроме того, я использовал пользовательскую функцию fn_CreateTimeFromSeconds для форматирования времени дляЧЧ: MI: SS формат
Надеюсь, это поможет