Если вы просто хотите получать транзакции за данный день, вы можете объявить дату в переменной, а затем выполнить запрос поиска записей, которые находятся между (@date + 7 часов: 7 утра) и (@date + 26часы: 2 часа ночи следующего дня), что можно сделать с помощью функции dateadd.Для простоты я также объявил начальную и конечную даты в переменных.
Declare @date datetime = '2018-01-01';
Declare @startdate datetime = dateadd(hour, 7, @date);
Declare @enddate datetime = dateadd(hour, 26, @date);
select *
from table
WHERE Date BETWEEN @startdate AND @enddate
Это будет работать, только если ваш столбец даты имеет тип данных datetime.
Если выХраня свою дату и время в отдельных столбцах, вы можете объединить их.Вот так:
Declare @date datetime = '2018-01-01';
Declare @startdate datetime = dateadd(hour, 7, @date);
Declare @enddate datetime = dateadd(hour, 26, @date);
select *
from table
WHERE (cast(date as datetime) + cast(cast(time as time) as datetime))
BETWEEN @startdate AND @enddate