
Делаю в запросе sql сравнение с текущей датой. Надо отобрать из списка записи, у которых дата/время – ровно неделя начиная с текущей даты. Делаю сравнение так:
declare @now datetime
select @now = getdate()
select * from table t where t.time_out > @now and t.time_out < @now+7
Все работает нормально. Однако потом потребовалось отобрать данные за другой промежуток, не от текущей даты, а от произвольной.
declare @now datetime
select @now = '2018-05-10 00:00:00.000'
select * from table t where t.time_out > @now and t.time_out < @now+7
Но в результате ничего не отбирается из базы. Хотя в таблице точно есть записи, которые относятся к этому временному промежутку с 10 мая и в течение недели после. В чем может быть проблема? Как в sql сравнивать даты, может я как-то неправильно записываю дату-время?
В общем, вопрос: как сравнивать время в sql и даты, чтобы получить корректный результат?



