Например, чтобы найти все записи со временем (независимо от даты) между 9:00 и 11:00, вы можете сделать это:
SELECT *
FROM YourTable
WHERE CONVERT(VARCHAR(5), DateField, 114) BETWEEN '09:00' AND '11:00'
Однако производительность вряд ли будет хорошей, так как любой индекс на DateField не будет использоваться.
Если вы собираетесь выполнять частую фильтрацию элемента времени, я бы рекомендовал хранить время отдельно от части даты. Это сделало бы запросы намного более оптимальными.
В SQL Server 2008 на самом деле существует тип данных TIME , поэтому, если в какой-то момент вы движетесь к 2008 году, то подход к отдельным полям еще более важен.