Если я вас правильно понимаю, вы хотите получить общее время, которое сотрудник проработал за период.Если у вас есть записи с начальной датой и конечной датой, вы можете просто использовать математику с типом datetime-datatype.
Если вы хотите получить рабочее время одного дня, просто сделайте что-то вроде:
select time1, time2, convert (varchar(8),time2-time1,108) from timecalc
Тип данных datetime - число, начиная с 1.1.1900.Поэтому, если значения datetime отличаются на 6 часов, вы получите 1900-01-01 06: 00: 00.000.
Вы можете преобразовать это в varchar, чтобы работать с этим и получать часы и минуты, какв примере я разместил 06: 00: 00.
Для работы с минутами и секундами вы используете:
dateadd()
Convert(type, value, format)
, наберите:
Convert(Varchar(8),date, 108)
Для получения подробной информациио форматах: http://msdn.microsoft.com/en-us/library/aa226054(v=sql.80).aspx