Операторът BETWEEN включва.
От Книги онлайн:
BETWEEN връща TRUE, ако стойността на test_expression е по-голяма от или равна на стойността на begin_expression и по-малка или равна на стойността на end_expression.
Предупреждение за дата и час
NB:С DateTimes трябва да внимавате; ако е дадена само дата, стойността се взема към полунощ на този ден; за да избегнете пропускане на времена в крайната ви дата или повтаряне на заснемането на данните от следващия ден в полунощ в множество диапазони, крайната ви дата трябва да бъде 3 милисекунди преди полунощ на деня, следващ датата ви. 3 милисекунди, защото по-малко от това и стойността ще бъде закръглена до полунощ на следващия ден.
напр. за да получите всички стойности в рамките на юни 2016 г., ще трябва да изпълните:
where myDateTime between '20160601' and DATEADD(millisecond, -3, '20160701')
т.е.
where myDateTime between '20160601 00:00:00.000' and '20160630 23:59:59.997'
datetime2 и datetimeoffset
Изваждането на 3 ms от дата ще ви направи уязвими към липсващи редове от прозореца с 3 ms. Правилното решение е и най-простото:
where myDateTime >= '20160601' AND myDateTime < '20160701'