Вы имеете в виду, как
SELECT * FROM table WHERE [start date]>='2016-03-01' AND [end date]<='2019-02-15'
Я что-то упустил? Это кажется слишком простым, чтобы задавать вопрос
Если ваша проблема связана с производительностью, возможно, рассмотрите возможность индексирования столбцов начальной и конечной даты, и если вы получаете только пару других значений из таблицы, включите их и в индекс.
CREATE INDEX IX_table_startdate_enddate
ON schema.table ([start date], [end date])
INCLUDE (othercolumn1, othercolumn2);
Это означает, что на запросы типа:
SELECT othercolumn1, othercolumn2 FROM table
WHERE [start date]>='2016-03-01' AND [end date]<='2019-02-15'
можно ответить из индекса, не подключая индекс к таблице, чтобы получить нужные данные
Если после этого вы все еще не можете сделать что-то неправильно, возможно, в вашем приложении есть недостаток дизайна;Плата за большие объемы данных за короткий промежуток времени может быть решена другим способом, например, только отправка событий, когда данные действительно изменяются