Лучший способ - использовать оба значения в качестве DateTime, тогда вы можете получить реальное значение. В качестве обходного пути вы можете предположить, что если время окончания меньше времени начала, это означает, что оно относится к следующему дню, но онобудет ограничено 23 часами (24, если вы используете <=) </p>
DECLARE @start TIME = '21:00'
DECLARE @end TIME = '01:00'
SELECT DATEDIFF(HOUR, @start , @end) + CASE WHEN @end < @start THEN 24 ELSE 0 END