Я бы создал три переменные.
- @ today: текущая дата / время, приведенная к дате, для установки на полночь
- @ startDate: первая / начальная дата, в которой я бы использовал функцию
DATEADD
для вычитания двух дней
- @ endDate: дата окончания, которую вы можете вычесть за 1 секунду с сегодняшнего дня
Это должно дать вам диапазон дат от 2019-07-07 00:00:00.000
до 2019-07-08 23:59:59.000
DECLARE @today DATETIME = CAST(GETDATE() AS DATE);
DECLARE @startDate DATETIME = DATEADD(DAY, -2, @today);
DECLARE @endDate DATETIME = DATEADD(SECOND, -1, @today);
Время обычно очень критично при работе с датами, убедитесь, что ваша начальная дата начинается в начале дня, а ваша конечная дата заканчивается в самом конце дня!
Ваш запрос будет выглядеть так:
SELECT *
FROM my_table
WHERE my_date_column BETWEEN @startDate AND @endDate