MS SQL-Abfrage auf Punch-time

Ich versuche, Informationen aus 2 databasetabellen (MS SQL DB) auf der Basis der Verschiebungsstartzeit (dateszeitformat) abzurufen. Ich möchte die Aufzeichnungen mit einem datesbereich und eine bestimmte time jener Tage, aber es scheint, dass die Abfrage nicht funktioniert Die Abfrage, die ich schrieb, ist:

select p.fullnm 'Fullname', t.startdtm 'Start Date/Time' FROM TIMESHEET t join PERSON p on p.personid = t.employeeid WHERE t.startdtm between '2016-01-01' and '2016-12-05' AND datepart(hh, startdtm) between 6 and 8 AND datepart(mi, startdtm) between 00 and 15 

Was ich will, ist: eine list aller Mitarbeiter, die zwischen 6 Uhr und 7:15 Uhr von 1-Jan bis 5-Dez. Jede mögliche Hilfe / Vorschlag wird geschätzt.

Etwas wie das?

 WHERE t.startdtm between '2016-01-01' and '2016-12-05' AND cast(t.startdtm as time) between '06:00' and '07:15'