BETWEEN演算子は包括的です。
Books Onlineから:
BETWEENは、test_expressionの値がbegin_expressionの値以上で、end_expressionの値以下の場合にTRUEを返します。
DateTimeの警告
注意:DateTimesでは注意が必要です。日付のみが指定されている場合、値はその日の深夜の時点で取得されます。終了日の時間の欠落を回避するため、または複数の範囲で深夜に翌日のデータのキャプチャを繰り返すために、終了日は、日付の翌日の深夜の3ミリ秒前にする必要があります。これ未満の場合、値は翌日の深夜に切り上げられるため、3ミリ秒。
例えば2016年6月以内にすべての値を取得するには、以下を実行する必要があります:
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ミリ秒を引くと、3ミリ秒のウィンドウから行が欠落する可能性があります。正しい解決策は最も単純なものでもあります:
where myDateTime >= '20160601' AND myDateTime < '20160701'