Каков оптимальный способ сравнения дат на сервере Microsoft SQL?
У меня есть SQLdatetime
поле в очень большой таблице. Это's проиндексированы и должны быть запрошены.
Проблема в том, что SQL всегда хранит компонент времени (даже если онs всегда полночь), но поиски идут на день, а не на время.
declare @dateVar datetime = '2013-03-11;
select t.[DateColumn]
from MyTable t
where t.[DateColumn] = dateVar;
Победил'ничего не вернуть, так какt.[DateColumn]
всегда включает в себя компонент времени.
Мой вопрос: как лучше всего обойти это?
Кажется, есть две основные группы вариантов:
Создайте вторую переменную, используяdateadd
и использоватьbetween ... and
или же .>= ... and ...