Основываясь на отзывах, которые вы дали в комментариях, я думаю, что лучший способ добиться того, чего вы хотите, на самом деле возможен в одном запросе без использования таблицы вообще.
SELECT CASE
WHEN (GETDATE() > SMALLDATETIMEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), DAY(GETDATE()), 7, 00)) AND (GETDATE() < SMALLDATETIMEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), DAY(GETDATE()), 17, 00)) THEN 1
WHEN (GETDATE() > SMALLDATETIMEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), DAY(GETDATE()), 4, 00)) AND (GETDATE() < SMALLDATETIMEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), DAY(GETDATE())+1, 2, 00)) THEN 2
ELSE NULL END AS ID
Вышезапрос вернет ID 1, если время между 07:00 и 17:00, 2, если время между 17:00 и 02:00 (следующий день), и NULL, если время не входит ни в одно из этих окон.