Dunno if this helps, but you could also do date calculations instead of converting to varchar which may or maynot be faster.For example:-- Note: Replace @GETDATE() with StartTimeSELECT DATEDIFF(MINUTE, DATEDIFF(DAY, 0, GETDATE()), GETDATE())SELECT DATEDIFF(HOUR, DATEDIFF(DAY, 0, GETDATE()), GETDATE())-- Example (between 9am and 5pm):WHERE DATEDIFF(HOUR, DATEDIFF(DAY, 0, StartDate), StartDate) >= 9 AND DATEDIFF(HOUR, DATEDIFF(DAY, 0, StartDate), StartDate) < 17
This is assuming you are looking for rows with a startdate during business hours on more than one day (i.e. not today). Otherwise you would want to do the date calculation on GETDATE() or some other date and compare that to StartDate as to avoid doing calculations on the field itself.-Ryan