Ваш столбец даты, вероятно, содержит компонент времени.Самый безопасный метод:
WHERE DATE >= '2019-05-10' AND
DATE < '2019-05-20' -- note one day later
Вы можете выразить это как:
WHERE DATE >= '2019-05-10' AND
DATE < DATEADD(DAY, 1, '2019-05-20')
Таким образом, вы можете захватить нужные вам входные данные.
SQL Server будет использовать индексыдля преобразований на сегодняшний день также целесообразно сделать:
WHERE CONVERT(DATE, DATE) >= '2019-05-10' AND
CONVERT(DATE, DATE) <- '2019-05-19'
В большинстве баз данных такие преобразования исключают использование индексов, но SQL Server является исключением.